如果等于组[*] [0],其中groups是元组数组?

时间:2017-05-16 16:16:21

标签: python

假设我有一系列像这样的小提琴:

[('9a4591116d2c', 'production', None), ('a3270aa13595', 'production', '58cac003c0ed42196da3d50e'), ('puppetdb', 'production', 'test')]

我想看看一个值是否与任何元组的第一个值匹配。有没有快速的方法来做这样的事情:

if node in groups[*][0]

2 个答案:

答案 0 :(得分:3)

if node in groups[*][0]最接近的工作方式是

if node in (x[0] for x in groups):
    ...

但你也可以

if any(node == first for first, *_ in groups):
    ...

答案 1 :(得分:2)

您可以将列表转换为具有更好切片属性的numpy数组:

>>> import numpy as np
>>> A = np.array(your_list_here)
>>> '9a4591116d2c' in A[:, 0]
True

不幸的是,在基础python中没有这样的语法。 :(