代码生成 Python编写一个能计算文档《唐诗.txt》中各位作者作品数量的程序。遍历文档中每一行,提取作者的姓名,将其作为键加入到字典中,字典的值为作品数量。然后将字典转换为二维列表,按作品数量的降序排列。
时间: 2024-02-22 07:00:47 浏览: 161
python解析html提取数据,并生成word文档实例解析
以下是 Python 代码实现:
```python
import re
# 打开文件并读取内容
with open('唐诗.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式匹配作者和诗歌标题
pattern = re.compile(r'【(.+?)】(.+?)\n')
matches = pattern.findall(content)
# 统计每个作者的作品数量
author_dict = {}
for match in matches:
author = match[0]
if author in author_dict:
author_dict[author] += 1
else:
author_dict[author] = 1
# 将字典转换为二维列表
author_list = []
for author, count in author_dict.items():
author_list.append([author, count])
# 按作品数量的降序排列
author_list.sort(key=lambda x: x[1], reverse=True)
# 输出结果
for author in author_list:
print(f'{author[0]}: {author[1]}')
```
首先打开文件并读取内容,然后使用正则表达式匹配每一行中的作者和诗歌标题。接着使用字典统计每个作者的作品数量,最后将字典转换为二维列表,并按作品数量的降序排列。最后输出结果即可。
阅读全文