7

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

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

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

4

1 回答 1

10

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

[[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]]
于 2014-04-16T17:22:45.110 回答