我有一个包含 utf-8 格式的非英文文本的列表。因此,当我尝试打印一个单词时,它给了我这个:u'\u0648\u0627\u0644\u0623\u0631\u0646\u0628'
因此,为了将其打印为原始单词,我必须对其进行循环,它将正确输出,作为原始单词。
我想找到 5 个最常用的词。将单词存储到 collections.counter() 函数时,它们以 unicode 格式输入。如何访问 counter() 中的单词以打印前 5 个最常用的单词。
我已经完成了以下代码:(txt是我的文本文件)
words = [w for w in txt.split()]
将打印出来
[u'\ufeff\u0643\u0627\u0646', u'\u064a\u0627', u'\u0645\u0627', ...u'\u0643\u0627\u0646', u'\u0641\u064a',你'\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)]
我想访问每个单词并循环它以使用它的频率打印出来。