小编典典

在python中的列表中查找序列的索引

python

我很新,我希望它不太明显,但是我似乎无法为以下问题找到一个简短而准确的答案。

我有两个清单:

a = [2,3,5,2,5,6,7,2]
b = [2,5,6]

我想查找第二个列表(b)的所有索引何时在第一个列表(a)中,以便得到如下内容:

b在a中的索引:3, 4, 5b = a[3:6]


阅读 138

收藏
2020-12-20

共1个答案

小编典典

具有列表理解:

>>> [(i, i+len(b)) for i in range(len(a)) if a[i:i+len(b)] == b]
[(3, 6)]

或使用for循环:

>>> indexes = []
>>> for i in range(len(a)):
...    if a[i:i+len(b)] == b:
...        indexes.append((i, i+len(b)))
... 
>>> indexes
[(3, 6)]
2020-12-20