在文本文件中统计每个汉字出现的次数

3

我正在尝试快速学习中文。一个很好的工具是在阅读出现汉字的文本之前先学习每个汉字。

我想要一个函数,它可以读取一个文本文件,识别每个汉字并按出现次数分类。

当涉及到编程时,我完全是个新手,但我准备用Python或任何我能快速学习的语言尝试一下。

例如,输入:

我妹妹现在在北京

输出:

 - 2
 - 2
 - 1
 - 1
 - 1
 - 1

作为提醒,汉字数量超过4万个,但每天使用的5000个已足够。
1个回答

4

使用Python3:

from collections import Counter

print(Counter(open("test.txt").read()))
Counter({'妹': 2, '在': 2, '现': 1, '京': 1, '我': 1, ' ': 1, '北': 1}

如果使用 Python 2,请使用 io.open

from io import open
print(Counter(open("test.txt").read()))
Counter({u'\u5728': 2, u'\u59b9': 2, u' ': 1, u'\u4eac': 1, u'\u6211': 1, u'\u73b0': 1, u'\u5317': 1})

这似乎仅适用于您指定的少数字符。正如我所说的,我不想在我的代码中手动输入5,000个字符,更不用说50,000个字符了。 - undefined
我没有指定任何字符,我使用了你问题中的字符,如果对你不起作用,那么你可能遇到了编码问题。这似乎只适用于你指定的少数字符 对此毫无见解。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接