python - 如何 'index' 命名元组

标签 python namedtuple

我有一个命名元组,其中包含多个命名元组。

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

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

最佳答案

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

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

另一种方法是使用以id为键的字典。

关于python - 如何 'index' 命名元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792120/

相关文章:

python - 在 Python 中创建 n 个字符串

python - Pytest 模拟补丁 - 如何排除故障?

python - 无法创建 namedtuple 子类的实例 : TypeError: __new__() takes exactly 4 arguments (3 given)

python - 类可以继承namedtuple的属性吗?

python - 命名元组中的圆形长 float 用于打印

python - 如何使用 opencv 对视频进行 Canny 边缘检测以减少闪烁并显示更粗的线条?

python - 名称错误 : name 'index' is not defined

python - 迭代命名元组列表,选择餐厅

python - 在 Python 中对 Cython 对象进行空间高效的 pickle ?

python - 如何使用二进制列表拆分 numpy 数组?