Mit dem Ansatz, die Sie tun, wie Sie sollte dies sehen tun wird überprüft, ob der Schlüssel bereits vorhanden ist, indem das in
Schlüsselwort. Wenn es dann Schritt macht, ansonsten zuweisen nur 1 wie folgt aus:
wordcount = {}
text = ["this", "is", "my", "sentence", "yes", "it", "is", "my", "stuff"]
for word in text:
if word in wordcount:
wordcount[word] += 1
else:
wordcount[word] = 1
print(wordcount)
# {'yes': 1, 'stuff': 1, 'sentence': 1, 'my': 2, 'is': 2, 'this': 1, 'it': 1}
Per Ihre Kommentare, können Sie diesen Zustand vermeiden, wenn Sie tatsächlich defaultdict
vom collections
Modul verwenden (documentation). Sie legen einfach fest, was der Wert default
für Ihre Wörterbucheinträge ist und fahren mit Ihrer +=
fort. Beispiel:
from collections import defaultdict
my_dict = defaultdict(int)
text_list = ["this", "is", "my", "sentence", "yes", "it", "is", "my", "stuff"]
for text in text_list:
my_dict[text] += 1
print(my_dict)
# defaultdict(<class 'int'>, {'sentence': 1, 'this': 1, 'is': 2, 'my': 2, 'yes': 1, 'it': 1, 'stuff': 1})
Nun, wenn Sie versuchen einfach, Wörter in Text zu zählen, dann gibt es etwas eingebaute in diese bereits für Sie tun Counter
vom collections
Modul (documentation) genannt. Dies wird alle ähnlichen Elemente zählen. Beachten Sie das Beispiel:
Achten Sie auf den Ausgang, wie es in der Reihenfolge der häufigsten ist. Wenn Sie das häufigste Wort bekommen benötigen, rufen Sie most_common
darauf:
print(my_count_dict.most_common(1))
# [('my', 2)]
Sie entweder defaultdict verwenden können (int) Ihr Wörterbuch oder verwenden wordcount [Wort] = wordcount.get (Wort, 0) + 1. –
beginnen mit dem, was 'zu erstellen Wortzahl [Wort] + = 1 'ohne die Kurzschrift – woozyking
Wenn Sie nicht wollen, dass andere Benutzer Ihre Frage abstimmen, helfen Sie ihnen, Ihr Problem zu verstehen. Ihre Frage sollte die Verwendung der Python-Sprache sein, also bitte hinter Ihrem Python-Code. Es ist einfacher zu sagen, was falsch ist, wenn man nur auf Code schaut und dann versucht zu verstehen, was die Absicht des Autors ist. – IOR88