首页 > 解决方案 > 仅当连续时才在另一个列表中查找列表项的索引

问题描述

我之前问过这个问题,并提出了以下建议: 如何测试一个列表是否包含另一个列表? 但是,以上并没有回答我的问题。

listA=["mango","orange","guava","mango","cherry","pawpaw"]
listB=["mango","cherry","pawpaw"]

在上面的列表 A 和 B 中,为了获取 listA 中 listB 元素的索引,我希望listA"mango","cherry""pawpaw"中的索引[3,4,5]忽略第一个"mango",因为它不是连续序列的一部分。

标签: python

解决方案


保持一个滑动窗口的长度等于listB

for i in range(len(listA)- len(listB) + 1):
    if listA[i:i+len(listB)] == listB:
        print([k for k in range(i,i+len(listB))])

推荐阅读