簡體   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