2016-11-12 85 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'开头,如果它包含结果的索引。