在命名元组列表中索引和查找值
我有一个叫做namedtuple的东西,长得像这样:
tup = myTuple (
a=...,
b=...,
c=...,
)
这里的“...”可以是任何值,比如字符串、数字、日期、时间等等。现在,我想把这些namedtuple放到一个列表里,然后找出,比如说c=1的情况,以及对应的a和b的值。有没有什么简单的Python方法可以做到这一点呢?
1 个回答
11
使用列表推导式,就像一个过滤器,像这样
[[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]]