我正在尝试根据另一个元组列表的部分匹配,对元组列表进行列表推导。
x = [((1,1),(1,1),(1,2)),
((2,1),(1,3),(2,9)),
((2,1),(2,3),(2,9))]
y = [(2,1),(1,3)]
[i for i in x for k in y if k in i]
例如,在这个例子中,x是元组列表,y是所需的元组列表。如果在x中的元组列表中找到了y,则应该返回该项。
结果是:
[((2,1),(1,3),(2,9)),((2,1),(1,3),(2,9)),((2,1),(2,3),(2,9))]
但我只想要:[((2,1),(1,3),(2,9))]
我尝试过单个元组,它给出了期望的结果。但不确定为什么当我传递一个元组列表时它不起作用。x = [((1,1),(1,1),(1,2)),
((2,1),(1,3),(2,9)),
((2,1),(2,3),(2,9))]
y = (2,1)
[i for i in x if y in i]
结果:[((2, 1), (1, 3), (2, 9)), ((2, 1), (2, 3), (2, 9))]
y
相对于x
来说足够大。 - SUTerliakov