我有一组元组,每个元组都有有限数量的元素。
我想检查一下该组中是否有某个元素, 具有我正在搜索的特定组件。
set_of_tuples = {(el_11, el_12, el_13), (el_21, el_22, el_23)}
a = (dont_care, el_12, dont_care)
如何在集合中找到包含该特定组件的元组元素?
我可以使用列表理解来做到这一点,但这是一个非常缓慢的过程。
使用集合,在简单的情况下,我可以这样做:
el = (1,2)
set_of_tuples = {(1,2), (2,3) ...}
我可以验证它是否存在,执行: el in set_of_tuples。
我问的是,有没有办法做同样的事情,但没有关心某些元组元素,例如:
el = (_,2)
el in set_of_tuples
答案 0 :(得分:5)
如果此元素存在于该集合的任何元组中
使用any()
功能:
set_of_tuples = {(11, 12, 13), (21, 22, 23)}
el = 12
exists = any(el in t for t in set_of_tuples)
print(exists) # True
获取外部集合中的位置:
pos = -1
for i,t in enumerate(set_of_tuples):
if el in t:
pos = i
break
print(pos)