Hvordan telle frekvensen av elementene i en liste?

Jeg trenger å finne frekvensen av elementer i en liste

a = [1,1,1,1,2,2,2,2,3,3,4,5,5]

output->

b = [4,4,2,1,2]

Jeg ønsker også å fjerne duplikatene fra en

a = [1,2,3,4,5]

For å telle antall opptredener:

from collections import defaultdict

appearances = defaultdict(int)

for curr in a:
    appearances[curr] += 1

For å fjerne duplikater:

a = set(a) 
Kommentarer (2)

Å telle frekvensen av elementer gjøres sannsynligvis best med en ordbok:

b = {}
for item in a:
    b[item] = b.get(item, 0) + 1

Bruk et sett for å fjerne duplikatene:

a = list(set(a))
Kommentarer (4)

For det første spørsmålet ditt, gjenta listen og bruk en ordbok for å holde oversikt over forekomsten av et element.

For det andre spørsmålet bruker du bare set-operatoren.

Kommentarer (1)