下面详细讲解一下如何用 Python 中的字典来统计单词或汉字词个数。
- 准备工作
在开始之前,我们需要准备两个文件,一个是 Python 脚本文件(.py),另一个是纯文本文件(.txt)。这个纯文本文件我们可以随意写入一些文本内容,用来作为后面的示例数据。
- 读取文本文件内容
首先,我们需要读取纯文本文件的内容,并将内容存放到一个字符串变量中。我们可以使用 Python 的内置函数 open
和 read
来完成这个任务,具体操作方式如下:
# 打开文件并读取内容
with open("example.txt", "r", encoding="utf-8") as f:
content = f.read()
# 打印读取到的文本内容
print(content)
上述代码中,我们使用了 with
语句来打开文件,保证程序执行完毕后自动关闭文件。参数 "r"
表示以只读的方式打开文件,encoding="utf-8"
表示使用 UTF-8 编码读取文件内容。
- 统计字典
接下来,我们需要使用 Python 中的字典来统计单词或汉字出现的次数。具体的操作步骤如下:
# 使用字典统计单词或汉字出现的次数
d = {}
# 去掉文本中的标点符号和换行符
for c in ",。!?;:“”‘’——()……《》、\n":
content = content.replace(c, " ")
# 单词或汉字统计
for word in content.split():
if word in d:
d[word] += 1
else:
d[word] = 1
# 打印输出统计结果
for key, value in d.items():
print(key, value)
上述代码中,我们使用了一个空字典 d
,然后对读取到的文本内容进行了处理。我们使用了一个循环来去掉文本中的标点符号和换行符,在进行单词或汉字统计之前先将其转换为列表。
接着,在一个循环中,我们使用了 if-else
语句来判断单词或汉字是否已经存在于字典中,如果已存在,则将其出现次数加 1,如果不存在,则将其添加到字典中,并将出现次数初始化为 1。
最后,我们使用了一个循环来遍历字典,将统计结果打印输出。
- 示例说明
下面是两条示例说明:
示例一:统计英文文章中单词出现的次数
我们假设有一个名为 example.txt
的文件,其中添加了如下一段英文文章:
Jack is a student. He studies hard every day. He likes playing basketball and computer games.
接下来,我们使用 Python 的字典统计单词出现的次数:
with open("example.txt", "r", encoding="utf-8") as f:
content = f.read()
d = {}
for c in ",。!?;:“”‘’——()……《》、\n":
content = content.replace(c, " ")
for word in content.split():
if word in d:
d[word] += 1
else:
d[word] = 1
for key, value in d.items():
print(key, value)
执行以上代码,输出结果如下:
Jack 1
is 1
a 1
student 1
He 1
studies 1
hard 1
every 1
day 1
likes 1
playing 1
basketball 1
and 1
computer 1
games 1
示例二:统计中文文章中汉字出现的次数
我们假设有一个名为 example.txt
的文件,其中添加了如下一段中文文章:
小明是一名学生,他每天都在读书。他喜欢篮球和电脑游戏。
接下来,我们使用 Python 的字典统计汉字出现的次数:
with open("example.txt", "r", encoding="utf-8") as f:
content = f.read()
d = {}
for c in ",。!?;:“”‘’——()……《》、\n":
content = content.replace(c, "")
for word in content:
if word in d:
d[word] += 1
else:
d[word] = 1
for key, value in d.items():
print(key, value)
执行以上代码,输出结果如下:
小 1
明 1
是 1
一 1
名 1
学 1
生 1
他 2
每 1
天 1
都 1
在 1
读 1
书 1
喜 1
欢 1
篮 1
球 1
和 1
电 1
脑 1
游 1
戏 1
这些就是关于“Python 用字典统计单词或汉字词个数”的完整攻略,希望对您有所帮助。