使用python获取列表中的最大重复项索引

时间:2012-06-30 01:01:25

标签: python list

正如有人在这里指出的那样,为了获得列表中的最大重复项,可以使用:

>>> from collections import Counter
>>> mylist = [20, 20, 25, 25, 30, 30]
>>> max(k for k,v in Counter(mylist).items() if v>1)
30

但是,如果我想获取索引而不是值,请在[4, 5]

任何帮助??

...问候

1 个答案:

答案 0 :(得分:2)

>>> from collections import defaultdict
>>> mylist = [20, 20, 25, 25, 30, 30]
>>> D = defaultdict(list)
>>> for i,x in enumerate(mylist):
        D[x].append(i)


>>> D[max(k for k,v in D.items() if len(v)>1)]
[4, 5]