Проверьте, существует ли namedtuple со значением x в списке
Я хочу посмотреть, существует ли 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()
1 ответ:
Использование
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]