python用字典统计单词或汉字词个数示例

  • Post category:Python

下面详细讲解一下如何用 Python 中的字典来统计单词或汉字词个数。

  1. 准备工作

在开始之前,我们需要准备两个文件,一个是 Python 脚本文件(.py),另一个是纯文本文件(.txt)。这个纯文本文件我们可以随意写入一些文本内容,用来作为后面的示例数据。

  1. 读取文本文件内容

首先,我们需要读取纯文本文件的内容,并将内容存放到一个字符串变量中。我们可以使用 Python 的内置函数 openread 来完成这个任务,具体操作方式如下:

# 打开文件并读取内容
with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()

# 打印读取到的文本内容
print(content)

上述代码中,我们使用了 with 语句来打开文件,保证程序执行完毕后自动关闭文件。参数 "r" 表示以只读的方式打开文件,encoding="utf-8" 表示使用 UTF-8 编码读取文件内容。

  1. 统计字典

接下来,我们需要使用 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。

最后,我们使用了一个循环来遍历字典,将统计结果打印输出。

  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 用字典统计单词或汉字词个数”的完整攻略,希望对您有所帮助。