索引和查找namedtuples列表中的值

时间:2014-04-16 17:19:03

标签: python namedtuple

我有一个如下的命名元组,

tup = myTuple  (
                a=...,
                b=...,
                c=...,
                )

其中......可以是任何值(字符串,数字,日期,时间等)。现在,我列出了这些命名元组并想要查找,假设c = 1以及a和b的对应值。有没有pythonic方式这样做?

1 个答案:

答案 0 :(得分:8)

使用列表理解,就像过滤器一样,

[[record.a, record.b] for record in records if record.c == 1]

例如,

>>> myTuple = namedtuple("Test", ['a', 'b', 'c', 'd'])
>>> records = [myTuple(3, 2, 1, 4), myTuple(5, 6, 7, 8)]
>>> [[record.a, record.b] for record in records if record.c == 1]
[[3, 2]]