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

时间:2015-12-26 06:09:28

标签: python list set tuples

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

3 个答案:

答案 0 :(得分:16)

您可以使用set.issubsetset.issuperset来检查一个元组或列表中的每个元素是否都在其他元素中。

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:-1)

另一种选择是在没有想到集合时创建一个简单的函数。

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

现在只需测试它们

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