Musisz podzielić zdanie na słowa. Dla przykładu możesz to zrobić tylko z
words = str1.split()
Ale do prawdziwego użycia słowa potrzebujesz czegoś bardziej zaawansowanego, który również obsługuje interpunkcja. W przypadku większości języków zachodnich można uciec przed zastąpieniem całej interpunkcji spacjami przed wykonaniem str1.split()
.
Będzie to działać również w języku angielskim w prostych przypadkach, ale należy pamiętać, że słowo "ja" zostanie podzielone na dwa słowa: "I" i "m", a powinno być podzielone na "I" i "rano". Ale to może być przesada dla tej aplikacji.
W przypadku innych przypadków, takich jak język azjatycki lub rzeczywiste używanie języka angielskiego w czasie rzeczywistym, warto skorzystać z biblioteki, która dzieli słowo na części.
Wtedy masz listę słów, a można zrobić
count = words.count(word)
pracował jak urok! Nie wiem, dlaczego jest coś takiego. Czy możesz wyjaśnić, co dokładnie się dzieje lub gdzie mogę tego szukać? Nigdy nie widziałem pętli for z podkreśleniem. Dzięki! – lost9123193
@ lost9123193 '_' jest często używany jako symbol zastępczy dla pętli :). Jestem pewien, że Amber może to wyjaśnić lepiej: p – TerryA
@ lost9123193 - "_" jest po prostu zmienną obojętną, co oznacza "nie dbam o wartość tutaj". W tym przypadku używam go, ponieważ zawsze podsumowujemy '1' dla liczby; w rzeczywistości nie zwracamy uwagi na obiekty dopasowania zwrócone przez 're.finditer()'. – Amber