检查列表的项目是否在另一个列表中的顺序相同

时间:2012-06-25 15:47:46

标签: python list

我有一个清单,说[1, 5, 2, 6, 2, 5, 1] 此列表中的项目在此列表中的顺序相同:[4, 1, 5, 2, 6, 2, 5, 1, 6, 2, 3]

有什么方法可以找出1个嵌套列表的项目在另一个1嵌套列表项目中的顺序是否相同?

3 个答案:

答案 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