¿Cómo contar la frecuencia de los elementos de una lista?

Necesito encontrar la frecuencia de los elementos de una lista

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

salida->

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

También quiero eliminar los duplicados de un

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

Para contar el número de apariciones:

from collections import defaultdict

appearances = defaultdict(int)

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

Para eliminar los duplicados:

a = set(a) 
Comentarios (2)

Probablemente, la mejor manera de contar la frecuencia de los elementos es con un diccionario:

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

Para eliminar los duplicados, utilice un conjunto:

a = list(set(a))
Comentarios (4)

Para tu primera pregunta, itera la lista y utiliza un diccionario para llevar la cuenta de la existencia de un elemento.

Para la segunda pregunta, utiliza el operador de conjunto.

Comentarios (1)