Другой способ, который не использует set
или Counter
:
d = {}
x = [10, 10, 10, 20, 20, 20, 30]
for j in x:
d[j] = d.get(j,0) + 1
РЕДАКТИРОВАТЬ: Для списка размером 1000000 с 100 уникальными предметами этот метод работает на моем ноутбуке в течение 0,37 сек, в то время какответ с использованием set
занимает 2,59 сек.Только для 10 уникальных предметов первый метод занимает 0,36 с, а второй - только 0,25 с.
РЕДАКТИРОВАТЬ: метод с использованием defaultdict
занимает 0,18 с на моем ноутбуке.