Выбрать уникальные значения и посчитать количество

Есть 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}
→ Ссылка