Soy un principiante de python, así que tal vez mi pregunta es muy novato. Supongamos que tengo una lista de palabras, y quiero encontrar el número de veces que aparece cada palabra en esa lista. manera obvia de hacerlo es:recuento de frecuencia de elemento en python
words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split.count(item)) for item in uniques]
print(freqs)
Pero este código no parece muy buena, ya que este programa forma corre a través de palabras lista dos veces, una para construir el conjunto, y la segunda vez contar el número de apariciones. Por supuesto, podría escribir una función para ejecutar la lista y hacer el recuento, pero eso no sería tan pitónico. Entonces, ¿hay una manera más eficiente y pitónica? (. Bucle a través de la lista de incrementar el dict adecuada llave)
No dos veces, parece que O (N * N) complejidad – Drakosha
@Drakosha: De acuerdo, acabo de ver esto también. –
Sí, la complejidad es O (n^2), pero la lista en sí misma se ejecuta dos veces. – Daniyar