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

Python 如何检查元组或列表中的所有元素是否位于另一个元组或列表中?,python,list,set,tuples,Python,List,Set,Tuples,例如,我想检查tuple(1,2)中的每个元素是否在tuple(1,2,3,4,5)中。 我不认为使用循环是一种好方法,我认为它可以在一行中完成。您可以使用或检查一个元组或列表中的每个元素是否在另一行中 >>> tuple1 = (1, 2) >>> tuple2 = (1, 2, 3, 4, 5) >>> set(tuple1).issubset(tuple2) True >>> set(tuple2).issuperse

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

您可以使用或检查一个元组或列表中的每个元素是否在另一行中

>>> 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
现在只需测试它们

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


我清楚地提到,我的问题是当显而易见的东西不在我脑海中时,
tuple\u checker
会做什么?检查是否相等、包含或只是检查它们是否是元组?元组是否已排序?您是否只询问所有元素都是整数的情况?而且,按顺序排序?(这样元组的顺序就不重要了?)在(5,3,1,4,2)中测试(2,1),您想返回True还是False?您能再展示几个期望输出值的示例吗?如果所有元素都是连续整数,您可以使用这样的数据结构,只需测试其下限和上限(
start
stop
step
,您甚至不需要元组/集合。或者
itertools.islice
>>> tuple_containment ((1,2,3,4,5), (1,2))
True
>>> tuple_containment ((1,2,3,4,5), (2,6))
False
>>> all(i in (1,2,3,4,5) for i in (1,2))
True