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}
は、あなたがこの状況を回避することができます。 default
の値を辞書エントリに設定して、+=
に進むだけです。例:あなたはcollections
モジュール(documentation)からCounter
と呼ばれるための今すぐ
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})
、あなたは、単にテキスト内の単語を数えるしようとしている場合は、すでにこれを行うには、内蔵のものがあります。これは、すべての同様の要素の数を維持します。例を観察してください:
from collections import Counter
text = ["this", "is", "my", "sentence", "yes", "it", "is", "my", "stuff"]
my_count_dict = Counter(text)
print(my_count_dict)
Counter({'my': 2, 'is': 2, 'stuff': 1, 'this': 1, 'it': 1, 'sentence': 1, 'yes': 1})
最も頻繁に出力順に注意してください。あなたが最も一般的な単語を取得する必要がある場合は、それにmost_common
を呼び出す:
print(my_count_dict.most_common(1))
# [('my', 2)]
あなたの辞書を作成したり、語数を使用するdefaultdict(int型)のいずれかを使用することができます[単語] = wordcount.get何 'と(ワード、0)+ 1 –
スタート:
collections
モジュールからも仕事をするだろうワードカウント[単語] + = 1'は簡略化していません – woozyking他のユーザーがあなたの質問に投票することを望まない場合、あなたの問題を理解するのに役立ちます。あなたの質問は、Python言語の使用を考慮して、あなたのPythonコードを過ぎてください。コードを見て、次に何が著者の意図であるかを理解しようとするだけで、何が間違っているのかを簡単に伝えることができます。 – IOR88