Выбрать уникальные значения и посчитать количество
Есть 2d спискок, количество элементов в списке равно количестве списков, например:
[[12, 0, 6], [12, 12, 5], [20, 30, 0]]
Желаемый результат:
12: 3
0: 2
6: 1
5: 1
20: 1
30: 1
(Выбрать уникальные значения и посчитать количество )
Максимально быстрым способом при необходимости использовать numpy
Ответы (2 шт):
Автор решения: Namerek
→ Ссылка
from collections import Counter
a = [[12, 0, 6], [12, 12, 5], [20, 30, 0]]
for r in Counter(x for y in a for x in y).items():
print(*r, sep=': ')
12: 3
0: 2
6: 1
5: 1
20: 1
30: 1
Автор решения: splash58
→ Ссылка
поскольку стоит тег numpy
a = numpy.array([[12, 0, 6], [12, 12, 5], [20, 30, 0]])
res = dict(zip(*numpy.unique(a, return_counts=True)))
но порядок ключей в результате будет другой
{0: 2, 5: 1, 6: 1, 12: 3, 20: 1, 30: 1}