utf-8 形式の英語以外のテキストで構成されるリストがあります。したがって、1 つの単語を印刷しようとすると、次のようになります。
したがって、元の単語として印刷するには、ループする必要があり、元の単語として正しく出力されます。
最も頻繁に使用される5つの単語を見つけたいです。単語を collections.counter() 関数に格納すると、Unicode 形式で入力されます。上位 5 つの最も頻繁な単語を出力するために、counter() 内の単語にアクセスするにはどうすればよいですか。
私は次のコードを実行しました:(txtは私のテキストファイルです)
words = [txt.split() の w の場合は w]
印刷します
[u'\ufeff\u0643\u0627\u0646', u'\u064a\u0627', u'\u0645\u0627', ...u'\u0643\u0627\u0646', u'\u0641\u064a', u'\u0642\u062f\u064a\u0645']
したがって、ループして目的の出力を取得します(理由はわかりません)
>>> for w in words:
print w,
印刷します
カンニャーマカン
counter() 関数を使用して、最も頻繁に使用される単語を見つけます
>>> count = collections.Counter(words)
>>> print count.most_common(5)
印刷します
>>> [(u'\u0627\u0644\u0633\u0644\u062d\u0641\u0627\u0629', 5),
(u'\u0627\u0644\u0645\u063a\u0631\u0648\u0631', 3),
(u'\u0627\u0644\u0623\u0631\u0646\u0628', 2), (u'\u060c', 2),
(u'\u0648\u0627\u0644\u0623\u0631\u0646\u0628', 2)]
私は各単語にアクセスし、それをループして、その頻度で出力したいと考えています。