ファイルの大規模なコレクションから最も一般的な 50 の単語を最初に抽出するスクリプトを作成しています。次に、これらの 50 語が各ファイルで何回出現するかを調べます。これは機能しますが、単語が見つかった場合にのみ番号が表示されます。単語が見つからない場合は 0 を返します。私がこれまでに持っているコードは次のとおりです。
for text in posts:
c=counter()
c.update(word for word in wordpunct_tokenize(text3) if word in top)
rel_freq2= c.values()
print rel_freq2
このコードでは、top は次のようなリストです。
[',', '.', 'i', '?', 'the', 'to', 'and', 'it', 'of', 'that', 'a', 'in', 'he', 'you', "'", 's', 'is', '...', '(', 'my', 't', 'be', 'for', 'what', 'with', 'so', 'now', 'have', 'm', 'we', 'this', '!', 'get', 'all', 'if', 'was', 'but', 'me', 'not', '"', 'about', 'on', 'they', '-', 'why', 'love', 'one', 'going', 'iraq', 'can']
スクリプトの結果は次のようになります。
[11, 1, 11, 15, 8, 11, 6, 3, 11, 4, 10, 11, 10, 4, 21, 38, 19, 1, 8, 1, 56, 5, 5, 7,
13, 3, 4, 2, 4, 4, 1, 20, 4, 5, 9, 19, 9, 38, 10, 8, 12, 23, 8]
[5, 2, 2, 7, 2, 3, 1, 2, 3, 2, 11, 1, 7, 19, 4, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 9, 2, 1, 4, 5, 7, 16, 2, 2, 3, 4]
[19, 4, 6, 12, 5, 8, 1, 4, 13, 3, 1, 4, 3, 6, 4, 3, 25, 8, 24, 3, 7, 2, 7, 6, 10, 12, 1, 3, 2, 6, 7, 1, 8, 1, 1, 2, 23, 6, 2, 1, 1, 2, 13, 3]
[6, 1, 4, 2, 3, 1, 5, 5, 1, 1, 5, 6, 6, 2, 2, 1, 3, 1, 1, 1, 1, 2, 4, 7, 1, 1, 9, 2]
ここに 0 がないことに注意してください。すべてのリストには、0 以上の 50 個のアイテムが必要です。
これを修正するにはどうすればよいですか?