我有以下格式的元组列表:
list = [(var1, var2, var3). (var1, var2, var3), ...]
是否可以构建一个if var is in list 语句,它只检查var 是否明确位于var3 槽之一?
例如,给定以下列表:
list = [(1, 2, 3), (7, 8, 9)]
我希望能够检查 var 是否在 List 中,如果 var == 3 则为真,如果 则不为真var == 2 因为它只检查每个元组中的特定位置。
请您参考如下方法:
您可以使用内置的 any :
>>> lst = [(1, 2, 3), (7, 8, 9)]
>>> any(v3==3 for *_, v3 in lst)
True
一旦找到匹配项,它就会短路,因此您无需遍历整个列表。
可以扩展到 Python 2(因为扩展解包将不起作用):
any(v3==3 for _, _, v3 in lst)
