检查列表中是否存在值为x的namedtuple(Check if namedtuple with value x exists in list)
我想查看列表中是否存在namedtuple,类似于:
numbers = [1, 2, 3, 4, 5] if 1 in numbers: do_stuff()是否有pythonic(或非)方式这样做? 就像是:
namedtuples = [namedtuple_1, namedtuple_2, namedtuple3] if (namedtuple with value x = 1) in namedtuples: do stuff()I want to see if a namedtuple exists in a list, similar to:
numbers = [1, 2, 3, 4, 5] if 1 in numbers: do_stuff()is there a pythonic (or not) way to do this? Something like:
namedtuples = [namedtuple_1, namedtuple_2, namedtuple3] if (namedtuple with value x = 1) in namedtuples: do stuff()最满意答案
使用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]Use any:
Demo:
>>> 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]更多推荐
发布评论