Como contar a frequência dos elementos de uma lista?

Preciso encontrar a frequência dos elementos em uma lista

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

output->

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

Também quero remover as duplicatas de um

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

Para contar o número de aparências:

from collections import defaultdict

appearances = defaultdict(int)

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

Para remover as duplicações:

a = set(a) 
Comentários (2)

A contagem da frequência dos elementos é provavelmente melhor feita com um dicionário:

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

Para remover as duplicatas, use um conjunto:

a = list(set(a))
Comentários (4)

Para a sua primeira pergunta, itere a lista e use um dicionário para acompanhar a existência de um elemento.

Para a sua segunda pergunta, use apenas o operador do set.

Comentários (1)