Найдите элемент в списке кортежей

У меня есть список

a= [(1,2),(1,4),(3,5),(5,7)]

Я должен найти все кортежи для конкретного числа. скажите для 1, это будет

result = [(1,2),(1,4)]

Как я делаю это?

123
задан Wolf 25 August 2015 в 12:31
поделиться

4 ответа

- 1794263-

Если вы просто хотите, чтобы первый номер, чтобы соответствовать, вы можете сделать это так:

[item for item in a if item[0] == 1]

Если вы просто ищете кортежи с 1 в них:

[item for item in a if 1 in item]
209
ответ дан 24 November 2019 в 01:11
поделиться
[tup for tup in a if tup[0] == 1]
9
ответ дан 24 November 2019 в 01:11
поделиться
for item in a:
   if 1 in item:
       print item
8
ответ дан 24 November 2019 в 01:11
поделиться

Прочтите Составление списков

[ (x,y) for x, y in a if x  == 1 ]

Также прочтите функции генератора и оператор yield .

def filter_value( someList, value ):
    for x, y in someList:
        if x == value :
            yield x,y

result= list( filter_value( a, 1 ) )
20
ответ дан 24 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: