如何'索引'一个命名元组

时间:2013-09-13 17:36:24

标签: python namedtuple

我有一个namedtuple,其中包含几个namedtuples。

每个内部元组基本上都有唯一的“id”以及其他有用的信息。 我知道我想要访问的元组的ID,我想知道是否有一种简单的方法来“索引”namedtuple来提取我想要的确切元素而不执行以下操作:

for inner_tuple in outer_tuple:
    if inner_tuple.id == desired_id:
        found tuple = inner_tuple
        break

1 个答案:

答案 0 :(得分:2)

您可以使用next()的生成器表达式查找第一个匹配项,如果没有匹配项,则可以使用None。这仍然需要一个循环:

found = next((tup for tup in outer_tuple if tup.id == desired_id), None)

另一种方法是使用id上键入的词典。