如何查找定期项目的所有索引?例如:
list = ['A','A','B','A','B','B','A']
我想要返回所有出现的'B',所以它会返回
indexes = [2,4,5]
答案 0 :(得分:2)
永远不会使用默认数据结构,例如list
,dict
作为变量。
这应该这样做:
from collections import defaultdict
# Create a dict with empty list as default value.
d = defaultdict(list)
# Initialise the list.
l = ['A','A','B','A','B','B','A']
# Iterate list with enumerate.
for index, e in enumerate(l):
d[e].append(index)
# Print out the occurrence of 'B'.
print(d['B'])
输出:
[2, 4, 5]
答案 1 :(得分:1)
在这里使用enumerate
>>> l = ['A','A','B','A','B','B','A']
>>> [i for i,d in enumerate(l) if d=='B']
[2, 4, 5]