在命名元组列表中索引和查找值

8 投票
1 回答
8587 浏览
提问于 2025-04-18 03:00

我有一个叫做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]]

撰写回答