2015-03-22 2 views
1

Допустим, у нас есть 4 списков:Как распечатать списки с определенным качеством?

["LA","California"] 
["NV","Nevada"] 
["NY","New York"] 
["SF","California"] 

Как написать код, который печатает только 1-й и 4-й список, потому что оба они имеют "California" как 2-й элемент?

+1

** Индекс ответов ** 1. [Если вы знаете, отрицательные индексы в списках проверить это] (http://stackoverflow.com/a/29192260/4099593) 2. [Если вы хотите, чтобы простой подход проверял это] (http://stackoverflow.com/a/29192265/4099593) 3. [Если вы хотите, чтобы проверки списка проверяли это) (http://stackoverflow.com/a/ 29192268/4099593) 4. [Если вы знаете о 'filter', проверьте это) (http://stackoverflow.com/a/29192322/4099593). После выбора отметки ответ, который вы нашли лучшим, как [принято] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

ответ

1

Давайте предположим, что у вас есть список списков:

list_of_lists = [["LA","California"], 
       ["NV","Nevada"], 
       ["NY","New York"], 
       ["SF","California"]] 

Затем вы можете распечатать только списки, которые имеют "California" в последней позиции:

for L in list_of_lists: 
    if L[-1] == "California": 
     print(L) 
1
L = [["LA","California"] 
["NV","Nevada"], 
["NY","New York"], 
["SF","California"]] 
for list1 in L: 
    if list1[1] == "California": 
     print list1 
1

Кажется, как вы имеют список списков

>>> l = [["LA","California"], 
["NV","Nevada"], 
["NY","New York"], 
["SF","California"]] 
>>> [i for i in l if i[1] == 'California'] 
[['LA', 'California'], ['SF', 'California']] 
1

Вы можете посмотреть на filter функции

>>> l = [["LA","California"], 
... ["NV","Nevada"], 
... ["NY","New York"], 
... ["SF","California"]] 
>>> list(filter(lambda x:x[1]=="California",l)) 
[['LA', 'California'], ['SF', 'California']] 

 Смежные вопросы

  • Нет связанных вопросов^_^