假设我有一系列像这样的小提琴:
[('9a4591116d2c', 'production', None), ('a3270aa13595', 'production', '58cac003c0ed42196da3d50e'), ('puppetdb', 'production', 'test')]
我想看看一个值是否与任何元组的第一个值匹配。有没有快速的方法来做这样的事情:
if node in groups[*][0]
答案 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中没有这样的语法。 :(