Python获取《三国演义》人物名单代码及科普
介绍
《三国演义》是中国四大名著之一,是由明代小说家罗贯中创作的一部历史小说。这部小说以三国时期(公元184年-280年)为背景,描绘了魏、蜀、吴三个国家之间的战争和英雄人物的故事。
本文将介绍如何使用Python获取《三国演义》中的人物名单,并使用数据可视化工具进行分析。
代码示例
下面是获取《三国演义》人物名单的Python代码示例:
def get_characters():
characters = []
with open('sanguo.txt', 'r', encoding='utf-8') as file:
for line in file:
line = line.strip()
if line:
characters.extend(line.split(','))
return characters
characters = get_characters()
print(characters)
上述代码中,首先定义了一个名为get_characters
的函数,该函数用于从文件中读取《三国演义》的内容,并返回所有人物的列表。
在代码中,我们首先打开名为sanguo.txt
的文件,该文件包含了《三国演义》的文本内容。然后,我们逐行读取文件内容,并使用strip
方法去除每行开头和结尾的空白字符。如果当前行不为空行,那么我们使用split
方法将当前行按照逗号分割,并将分割结果添加到characters
列表中。
最后,我们调用get_characters
函数,并将返回的人物列表赋值给characters
变量。然后通过print
函数打印出这个列表。
数据可视化
获取到《三国演义》中的人物名单后,我们可以使用数据可视化工具对人物进行分析和展示。下面以饼状图为例,展示《三国演义》中人物的分布情况。
首先,我们需要安装matplotlib
库来绘制饼状图:
```shell
pip install matplotlib
接下来,我们使用以下代码来绘制人物分布的饼状图:
import matplotlib.pyplot as plt
def plot_character_distribution(characters):
character_count = {}
for character in characters:
character_count[character] = character_count.get(character, 0) + 1
labels = list(character_count.keys())
counts = list(character_count.values())
plt.figure(figsize=(8, 8))
plt.pie(counts, labels=labels, autopct='%1.1f%%')
plt.title('Characters Distribution in "Three Kingdoms"')
plt.axis('equal')
plt.show()
plot_character_distribution(characters)
代码中,我们首先定义了一个名为plot_character_distribution
的函数,该函数用于绘制人物分布的饼状图。在函数中,我们使用一个字典character_count
来统计每个人物出现的次数。然后,我们将字典的键和值分别赋值给labels
和counts
变量。
接下来,我们使用matplotlib.pyplot
模块来创建一个图像,设置图像的尺寸为8x8英寸,并使用plt.pie
方法绘制饼状图。我们将人物出现的次数作为数据,人物名称作为标签,并使用autopct='%1.1f%%'
设置饼状图上的百分比显示格式。然后,我们设置图像的标题为"Characters Distribution in 'Three Kingdoms'",使饼状图的长宽比相等,并使用plt.show
方法显示图像。
最后,我们调用plot_character_distribution
函数,并将人物列表传递给函数进行绘制。
结论
通过使用Python获取《三国演义》人物名单的代码示例,我们可以方便地得到这部名著中的人物列表。而使用数据可视化工具,如饼状图,我们可以更加直观地了解《三国演义》中人物的分布情况。
通过分析人物名单,我们可以发现哪些人物在小说中出现的频率较高