计算Python中的重复整数

Cha*_*ase 6 python count duplicates

如何查找字符串中的重复项总数?即,如果是j= [1,1,1,2,2,2]它会发现4重复?我只能找到显示每个单独数字出现次数的计数.

Sil*_*ost 17

>>> j= [1,1,1,2,2,2]
>>> len(j) - len(set(j))
4
Run Code Online (Sandbox Code Playgroud)

和顺便说一句,j是一个列表,而不是一个字符串,虽然为了这个练习的目的,它并不重要.


小智 8

似乎已经有了一个流行的答案,但是如果你想保持单独的重复计数Counter(),Python 2.7中的新集合对象也是完美的.

>>> from collections import Counter

>>> j = [1,1,1,2,2,2]

>>> Counter(j)
Counter({1: 3, 2: 3})

>>> sum([i - 1 for i in c.values() if i > 1])
4

>>> {k: v - 1 for k, v in c.items()} # individual dupes
{1: 2, 2: 2}
Run Code Online (Sandbox Code Playgroud)

ActiveState有一个Counter的反向端口