繁体   English   中英

检查列表中是否存在值为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()

使用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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM