Grupuj według i licz na liście

Mam listę, która jest wypełniona liczbami takimi jak ten:

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

Tak więc w zasadzie przypadkowe liczby, ale ten sam numer może występować wielokrotnie na tej liście.

Chcę pogrupować je według numeru, ale mogę również powiedzieć, ile razy ten numer był na liście. Więc mam coś takiego:

[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

Czy istnieje szybki / łatwy sposób na osiągnięcie tego celu? Czy mam napisać wszystkie rodzaje pętli i sprawdzić, czy coś takiego powstało ręcznie?

questionAnswers(5)

yourAnswerToTheQuestion