Python 检查a是否列出';项目在另一个列表中的顺序相同

Python 检查a是否列出';项目在另一个列表中的顺序相同,python,list,Python,List,我有一个列表,比如说[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 Tr

我有一个列表,比如说
[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

@pcalcao:我想要的是一个布尔值,而不是另一个列表。然后调整另一个问题的答案应该很简单。@beary605如果不包含列表,则得到一个布尔值,否则得到一个列表,第一个列表中的项目必须连续出现在第二个列表中吗?我加上+1是为了一个简单的事实,即当投反对票时,人们应该提供一条对公众有益的评论user@pyfunc如果这个答案解决了这个问题,我对复制/粘贴重复答案投了反对票(在OP澄清之前还不清楚),则该问题应标记为另一个问题的副本,而不是从那里复制/粘贴答案。@NominSim:抱歉。但我们应该提供评论。谢谢回来。是的,我们不希望重复回答。我们应该指出,在这种情况下,我已将该问题标记为副本…D:优雅的答案。我假设元素应该是连续发生的
size = len(needle)
any(needle == haystack[i:i+size] for i in range(len(haystack) - size + 1))