Python 从list中统计相同值的索引值

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)

应用实例

leetcode 两数之和
原文:http://www.chenxm.cc/post/711.html

你可能感兴趣的:(Python 从list中统计相同值的索引值)