Python 从list中统计相同数字的个数
在实际工作中会遇到需要使用list中每个值的索引位置,但是也会遇到一种特殊情况,就是列表中有大量相同的值,这是获取列表的索引比较麻烦。
a = [1,2,3]
a.index(1)
# 0
a.index(2)
# 1
特殊情况
a = [1,2,3,1,2,3]
a.index(1)
# 0
a.index(1)
# 0
如何解决?
使用defaultdict()
from collections import defaultdict
a=[1,2,3,1,2,3]
d = defaultdict(list)
for i, v in enumerate(a):
d[v].append(i)
应用实例