Sono un novizio pitone, quindi forse la mia domanda è molto noob. Supponiamo che io abbia una lista di parole e voglio trovare il numero di volte in cui ogni parola appare in quella lista. modo ovvio per farlo è:conteggio delle frequenze degli oggetti in pitone
words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split.count(item)) for item in uniques]
print(freqs)
Ma ho trovato questo codice non è molto buono, perché questo programma così funziona attraverso parole elenco due volte, una volta per costruire il set, e la seconda volta contare il numero di presenze. Ovviamente, potrei scrivere una funzione per scorrere l'elenco e fare il conteggio, ma non sarebbe così pignolo. Quindi, c'è un modo più efficiente e pietoso? (. Scorrendo la lista incrementare il corretto dict chiave)
Non due volte, sembra complessità O (N * N) – Drakosha
@Drakosha: D'accordo, ho visto anche questo. –
Sì, la complessità è O (n^2), ma l'elenco stesso viene eseguito due volte. – Daniyar