Python字典练习题
时间: 2025-01-03 09:39:09 浏览: 5
### Python 字典练习题
#### 示例题目一:统计文本中单词数量并找出频率最高的五个词
给定一段纯文字的字符串,去除所有标点符号后,统计该段落内不同单词的数量,并找到出现次数最多的前五名。
```python
from collections import Counter
import re
def word_frequency(text):
words = re.findall(r'\b\w+\b', text.lower())
counts = Counter(words)
most_common_words = counts.most_common(5)
unique_word_count = len(counts)
return {
"unique_word_count": unique_word_count,
"top_5_frequent_words": dict(most_common_words),
}
text_input = """
Python is an interpreted high-level general-purpose programming language.
Python's design philosophy emphasizes code readability with its notable use of significant indentation.
"""
result = word_frequency(text_input)
print(f"Unique Words Count: {result['unique_word_count']}")
print("Top 5 Frequent Words:")
for word, freq in result["top_5_frequent_words"].items():
print(f"{word}: {freq}")
```
此代码片段展示了如何处理输入文本以计算唯一单词计数和最高频率词汇表[^2]。
#### 示例题目二:修改嵌套字典结构
基于提供的初始字典`dic1`,执行一系列操作来改变其内部值:
- 向"name"列表添加新成员"wusir"
- 将"name"列表内的所有实例'dxl'转换成大写字母'DXL'
- 增添新的键值对到子字典"oldboy"下
- 移除特定项自"oldboy"下的另一个子列表
```python
dic1 = {'name': ['dxl', 2, 3, 5], 'job': 'teacher', 'oldboy': {'dxl': ['python1', 'python2', 100]}}
# 添加元素至 name 列表
dic1["name"].append("wusir")
# 修改 dxl 成 DXL
for index in range(len(dic1['name'])):
if isinstance(dic1['name'][index], str) and dic1['name'][index].lower() == 'dxl':
dic1['name'][index] = 'DXL'
# 新增键值对于 oldboy 下面
dic1["oldboy"]["老男孩"] = "linux"
# 删除 python2 自 oldboy -> dxl 的列表里
if "python2" in dic1["oldboy"]["dxl"]:
dic1["oldboy"]["dxl"].remove("python2")
print(dic1)
```
这段脚本实现了上述四个任务的要求,同时也体现了对于复杂数据类型的灵活运用能力[^3]。
阅读全文