我有一个清单,比如说[1, 5, 2, 6, 2, 5, 1]
。
此列表中的项目在此列表中的顺序相同:[4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]
找出一个嵌套列表的项目是否在另一个嵌套列表的项目中的顺序相同的简单方法是什么?
看了这个问题后,我写了这个。与其他一些假设第一个数组中的元素必须连续出现在第二个数组中的其他人不同,这不是。
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
size = len(needle)
any(needle == haystack[i:i+size] for i in range(len(haystack) - size + 1))