这些答案是O(n),因此比使用的代码多一点,mylist.count()
但mylist
随着时间的延长,效率会大大提高
如果您只想知道重复项,请使用collections.Counter
from collections import Counter
mylist = [20, 30, 25, 20]
[k for k,v in Counter(mylist).items() if v>1]
如果您需要了解索引,
from collections import defaultdict
D = defaultdict(list)
for i,item in enumerate(mylist):
D[item].append(i)
D = {k:v for k,v in D.items() if len(v)>1}