用python写代码满足以下功能 1.将宋词数据内容规范化,通过列表、字典等组合数据类型,将“词牌名”、“作者”和“正文”分别存储,比如输入作者,显示对应的词牌和正文; 2.输入词牌显示对应的作者和正文,只能用组合数据类型实现,不借助其他数据结构。
时间: 2024-05-29 15:08:21 浏览: 10
好的,我会尽力回答您的问题。
对于第一个问题,您可以借助Python的字典和列表数据类型来实现。首先,您需要从数据集中读取所有的宋词数据,并进行规范化。可以定义一个字典,将“词牌名”、“作者”和“正文”分别存储,以词牌名作为字典的键,对应的值是一个包含作者和正文的列表。示例代码如下:
songci_data = {
"青玉案·元夕": ["辛弃疾", "东风夜放花千树,更吹落、星如雨。\n宝马雕车香满路,凤箫声动,玉壶光转,一夜鱼龙舞。"],
"虞美人·听雨": ["刘备", "近乡情更怯,不敢问来人。\n却道好听鸡鸣早,归来翻觉得山家路。"]
}
然后,您可以通过输入作者,获取对应的词牌和正文,或者输入词牌,获取对应作者和正文。示例代码如下:
def search_by_author(author):
result = []
for title, info in songci_data.items():
if info[0] == author:
result.append((title, info[1]))
return result
def search_by_title(title):
info =
相关问题
1.将宋词数据内容规范化,通过列表、字典等组合数据类型,将“词牌名”、“作者”和“正文”分别存储,比如输入作者,显示对应的词牌和正文; 2.输入词牌显示对应的作者和正文,只能用组合数据类型实现,不借助其他数据结构。
1. 这是一个很好的数据组合问题。我们可以使用字典数据结构来存储宋词的相关信息。例如,我们可以使用词牌名作为字典数据结构的键,然后将“作者”和“正文”作为键值对存储起来。当用户输入作者时,我们可以使用循环语句遍历字典,找到与该作者对应的所有词牌及其正文,然后输出。反之亦然。这样我们就可以方便地查找到每一首宋词对应的信息了。
2. 如果只能用组合数据类型来实现输入词牌显示对应的作者和正文的功能,那么我们可以使用列表和字典的嵌套来实现。具体来说,我们可以使用一个包含多个字典的列表来存储宋词数据。每个字典代表一首宋词,其中包含“词牌名”、“作者”和“正文”等信息。然后我们可以使用循环语句遍历整个列表,找到所有与输入词牌名对应的字典,然后输出其中的“作者”和“正文”信息即可。需要注意的是,这里的字典应该是按照输入顺序进行存储的。
本关任务:编写一个能统计文档中词语词频小程序。 宋词文件如下所示: 宋词文件 统计文件中词频最高的15个词语(除了词牌名和作者) 注意:标题行的空格是全角空格" "(可复制此空格) 由于有一个词牌名为东风第一枝,需要将文件中的词牌名删除。(否则会多一个东风)
好的,我明白了。以下是Python代码实现:
```python
import re
from collections import Counter
# 读取文件
with open('songci.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 删除词牌名
content = content.replace('东风第一枝', '')
# 提取词语
words = re.findall(r'[\u4e00-\u9fa5]+', content)
# 统计词频
word_freq = Counter(words)
# 删除词牌名和作者
del word_freq['东风第一枝']
del word_freq['苏轼']
# 输出词频最高的15个词语(除了词牌名和作者)
for word, freq in word_freq.most_common(15):
print(word, freq)
```
注:需要将代码中的文件名改为实际的文件名,并确保文件与代码在同一目录下。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![csv](https://img-home.csdnimg.cn/images/20210720083646.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)