2016-11-12 35 views
0

所以我有一個下面的列表:如何查找列表中的單詞索引?

found = ['ITERATION 0', 'string', 'ITERATION 1', 'string', 'ITERATION 2', 'string'] 

我想,我不能爲我的生活找到StackOverflow上或YouTube的任何答案,提取每個ITERATION的索引。

所以在我的例子中reslt將是[0, 2, 4]

我可以用found.index(r'ITERATION 0')找到具體的發生;但這並不能幫助我找到24

+1

http://stackoverflow.com/questions/176918/finding-the-index-of-an-item-given-a-list-containing-it-in-python – snagpaul

+1

有時你必須自己找出答案而不是尋找罐裝的東西。 – martineau

回答

2

您可以使用enumerate與列表理解:

>>> found = ['ITERATION 0', 'string', 'ITERATION 1', 'string', 'ITERATION 2', 'string'] 
>>> [i for i, s in enumerate(found) if s.startswith('ITERATION')] 
[0, 2, 4] 

在上面enumerate回報(index, string)元組。對於每個元組列表,理解檢查字符串是否以'ITERATION'開頭,如果它包含結果的索引。