我有一个清单,说[1, 5, 2, 6, 2, 5, 1]
此列表中的项目在此列表中的顺序相同:[4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]
有什么方法可以找出1个嵌套列表的项目在另一个1嵌套列表项目中的顺序是否相同?
答案 0 :(得分:4)
在看了我写这个问题之后。与其他一些假设第一个数组中的元素必须连续出现在第二个数组中的元素不同,这不是。
def in_order(a,b):
j = iter(b)
for i in a:
while True:
try:
j_ = j.next()
except StopIteration:
return False
if i == j_:
break
return True
OP的例子:
a = [1, 5, 2, 6, 2, 5, 1]
b = [4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]
print in_order(a,b)
打印:True
答案 1 :(得分:0)
size = len(needle)
any(needle == haystack[i:i+size] for i in range(len(haystack) - size + 1))
答案 2 :(得分:-1)
只需从此处修改最常见的答案:Testing if a list contains another list with Python