我需要验证列表是否是另一个列表的一个子集 - 布尔返回是我寻求的全部内容.
在交叉路口之后测试相等的较小列表是最快的方法吗?
考虑到需要比较的数据集数量,性能至关重要.
根据讨论添加更多事实:  
在这种情况下,最佳解决方案是什么?
如何测试列表是否包含另一个列表(即,它是一个连续的子序列).假设有一个名为contains的函数:
contains([1,2], [-1, 0, 1, 2]) # Returns [2, 3] (contains returns [start, end])
contains([1,3], [-1, 0, 1, 2]) # Returns False
contains([1, 2], [[1, 2], 3]) # Returns False
contains([[1, 2]], [[1, 2], 3]) # Returns [0, 0]
编辑:
contains([2, 1], [-1, 0, 1, 2]) # Returns False
contains([-1, 1, 2], [-1, 0, 1, 2]) # Returns False
contains([0, 1, 2], [-1, 0, 1, 2]) # Returns [1, 3]
我想编写一个函数来确定子列表是否存在于更大的列表中.
list1 = [1,0,1,1,1,0,0]
list2 = [1,0,1,0,1,0,1]
#Should return true
sublistExists(list1, [1,1,1])
#Should return false
sublistExists(list2, [1,1,1])
有没有Python功能可以做到这一点?
如果我有这个:
a='abcdefghij'
b='de'
然后这在一个:
b in a => True
有没有办法用列表做类似的事情?像这样:
a=list('abcdefghij')
b=list('de')
b in a => False 
'False'结果是可以理解的 - 因为它正确地寻找元素'de',而不是(我碰巧想要它做什么)'d'后跟'e'
这是有效的,我知道:
a=['a', 'b', 'c', ['d', 'e'], 'f', 'g', 'h']
b=list('de')
b in a => True
我可以处理数据以获得我想要的东西 - 但是有一个简短的Pythonic方法吗?
澄清:我需要在这里保留排序(b = ['e','d'],应该返回False).
如果它有帮助,我所拥有的是列表列表:这些列表表示有向图中从节点1到节点-x的所有可能路径(访问节点列表):我想要"排除"常见路径任何更长的路径.(因此寻找所有不可缩短的"原子"路径,构成所有较长的路径).
例如,类似于:
>>> [1, 2, 3].contains_sequence([1, 2])
True
>>> [1, 2, 3].contains_sequence([4])
False
我知道in运算符可以为字符串执行此操作:
>>> "12" in "123"
True
但我正在寻找可以在迭代上运行的东西.
基本上我可以说:
>>> a = [1,3,2,2,2]
>>> b = [1,3,2]
我想看看b中的所有元素是否存在于a和同一顺序中.因此,对于上面的例子,b将存在于a中.
我有点希望这是一个非常简单的单行答案.