如何检查元组或列表中的所有元素是否都在另一个元组或列表中?

How to check if all elements in a tuple or list are in another?

例如,我想检查元组 (1, 2) 中的每个元素都在元组 (1, 2, 3, 4, 5) 中。 我认为使用循环不是一个好方法,我认为它可以在一行中完成。

您可以使用 set.issubset or set.issuperset 检查一个元组或列表中的每个元素是否在另一个元组或列表中。

>>> tuple1 = (1, 2)
>>> tuple2 = (1, 2, 3, 4, 5)
>>> set(tuple1).issubset(tuple2)
True
>>> set(tuple2).issuperset(tuple1)
True

另一种选择是在不考虑集合时创建一个简单的函数。

def tuple_containment(a,b):
    ans = True
    for i in iter(b):
        ans &= i in a
    return ans

Now simply test them

>>> tuple_containment ((1,2,3,4,5), (1,2))
True
>>> tuple_containment ((1,2,3,4,5), (2,6))
False

我想你想要这个:(使用 all

>>> all(i in (1,2,3,4,5) for i in (1,2))
True