Python - Contar términos en una lista

 
Vista:

Contar términos en una lista

Publicado por KingJames (3 intervenciones) el 21/09/2018 12:10:43
Hola,

quería preguntar cómo podría en Python contar cuántas veces aparece cada término en una lista (pero sin saber qué términos son). Es decir, primero tenemos que ir buscando términos nuevos y luego contar cuántas veces aparece cada uno, pero si vuelve a aparecer que no empiece de nuevo a contarlo.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Contar términos en una lista

Publicado por algoritmo (245 intervenciones) el 21/09/2018 23:40:57
Espero que te sirva :)

1
2
3
4
5
6
7
8
9
10
11
lista = [1, 2, 3, 1, 1, 4, 2]
 
aparecen = {}
 
for elemento in lista:
    if elemento in aparecen:
        aparecen[elemento] += 1
    else:
        aparecen[elemento] = 1
 
print aparecen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Contar términos en una lista

Publicado por KingJames (3 intervenciones) el 26/09/2018 12:17:31
Gracias! He utilizado este código, aunque mi lista era un poco más compleja, porque era una lista de listas de diccionarios.. Me ha servido tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abZer0x
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Contar términos en una lista

Publicado por abZer0x (109 intervenciones) el 22/09/2018 00:30:10
Hola, no me queda muy claro lo que buscas realizar, puedes dar algún ejemplo o detallar más.
Ahora bien, si lo que buscas es contar la cantidad de elementos iguales que aparecen en una lista puedes usar collections.Counter algo así:

1
2
3
4
from collections import Counter
a = [1, 2, 4, 6, 6, 7, 8, 1, 1, 2, 3]
for e, q in sorted(Counter(a).items(), key=lambda x: x[0]):
        print("Element: {} Quantity: {}".format(e, q))
Salida
1
2
3
4
5
6
7
Element: 1 Quantity: 3
Element: 2 Quantity: 2
Element: 3 Quantity: 1
Element: 4 Quantity: 1
Element: 6 Quantity: 2
Element: 7 Quantity: 1
Element: 8 Quantity: 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Contar términos en una lista

Publicado por KingJames (3 intervenciones) el 26/09/2018 12:18:26
Gracias por tu ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar