Группировать по и считать в списке

У меня есть список, который заполнен целыми числами, как это:

[0] 1
[1] 4
[2] 4
[3] 8
[4] 9
[5] 1
[6] 1

Так что в основном случайные числа там, но одно и то же число может встречаться несколько раз в этом списке.

Я хочу сгруппировать их по номеру, но я также могу сказать, сколько раз это число было в списке. Так что у меня есть что-то вроде:

[0] 
  [number] 1
  [total] 3  // Occured 3 times in the list
[1]
  [number] 4
  [total] 2
[2]
  [number] 8
  [total] 1
[3]
  [number] 9
  [total] 1

Есть ли быстрый / простой способ сделать это? Или я должен написать все виды циклов и проверок, чтобы создать что-то подобное вручную?

Ответы на вопрос(5)

Ваш ответ на вопрос