3

次のように、名前付きタプルがリストに存在するかどうかを確認したい:

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()
4

1 に答える 1

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]
于 2013-12-05T23:39:54.340 に答える