繁体   English   中英

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

[英]Find indexes of sequence in list in python

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

我有两个清单:

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

我想找到第二个列表( b )的所有索引都在第一个列表( a )中,以便我得到这样的东西:

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

列表理解:

>>> [(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)]

这应该按照你的要求做:

a = [2,3,5,2,5,6,7,2]
b = [2,5,6]
for i in range(len(a)):
    if a[i] in b:
        print i

当然你应该根据自己的喜好格式化print语句。 或者不打印并将结果保存在另一个列表中。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM