2013-12-05 6 views
3

Я хочу увидеть, если namedtuple существует в списке, аналогично:Проверьте namedtuple со значением х существует в списке

numbers = [1, 2, 3, 4, 5] 
if 1 in numbers: 
     do_stuff() 

есть ли вещий (или нет) способ сделать это? Что-то вроде:

namedtuples = [namedtuple_1, namedtuple_2, namedtuple3] 
if (namedtuple with value x = 1) in namedtuples: 
     do stuff() 

ответ

5

Использование any:

Демо:

>>> from collections import namedtuple 
>>> A = namedtuple('A', 'x y') 
>>> lis = [A(100, 200), A(10, 20), A(1, 2)] 
>>> any(a.x==1 for a in lis) 
True 
>>> [getattr(a, 'x')==1 for a in lis] 
[False, False, True] 
+0

Работал как шарм. Благодарю. – user1500452

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

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