[英]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, 5
或b = 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.