È necessario suddividere la frase in parole. Ad esempio, si si può fare con un semplice
words = str1.split()
Ma per l'utilizzo reale parola che ti serve qualcosa di più avanzato che gestisce anche la punteggiatura. Per la maggior parte delle lingue occidentali puoi fare a meno di sostituire tutti i segni di punteggiatura con spazi prima di fare str1.split()
.
Questo funzionerà anche per l'inglese in casi semplici, ma si noti che "I'm" sarà diviso in due parole: "I" e "m", e in effetti dovrebbe essere suddiviso in "I" e "am". Ma questo potrebbe essere eccessivo per questa applicazione.
Per altri casi, come la lingua asiatica, o l'uso effettivo dell'inglese del mondo reale, è possibile che si desideri utilizzare una libreria che divida la parola per voi.
allora avete una lista di parole, e si può fare
count = words.count(word)
fonte
2013-06-24 06:12:10
ha funzionato come un fascino! Non so perché c'è un downvote. Potresti spiegare cosa sta succedendo esattamente o dove potrei cercare questo? Non ho mai visto un ciclo for con un carattere di sottolineatura. Grazie! – lost9123193
@ lost9123193 '_' è spesso usato come segnaposto per i loop :). Sono sicuro che Amber potrebbe spiegarlo meglio: p – TerryA
@ lost9123193 - Un '_' è semplicemente una variabile fittizia, un modo per dire" In realtà non mi interessa il valore qui ". In questo caso, lo sto usando perché sommiamo sempre '1's per il conteggio; non ci interessa davvero gli oggetti match restituiti da 're.finditer()'. – Amber