Python中的字典(dictionary)是一种无序的数据结构,其中包含了键(key)和值(value)的映射关系。与此类似的是二维字典,即字典中的值也是字典。可以使用以下方法定义和实现一个二维字典。
定义二维字典
可以使用以下方式定义一个二维字典:
二维字典名 = {}
其中,包含在大括号的键值对表示外层字典中的键和值。这里的值为一个字典,可以继续添加键值对来给内部字典赋值。例如:
grades = {'小明': {'数学': 95, '语文': 88, '英语': 94},
'小红': {'数学': 85, '语文': 92, '英语': 89}}
这里定义了一个二维字典,'小明'和'小红'是外层字典的键,而对应的值分别为内部字典。内部字典中包含了对应科目的成绩(key-value pairs)。
访问二维字典
可以使用双层索引来访问二维字典。例如,要查询小明的数学成绩:
print(grades['小明']['数学']) # 输出95
又或者,遍历全部的成绩:
for name, scores in grades.items():
print(name + '的成绩:')
for subject, score in scores.items():
print(subject + ':', score)
输出:
小明的成绩:
数学: 95
语文: 88
英语: 94
小红的成绩:
数学: 85
语文: 92
英语: 89
示例
例如,我们可以使用二维字典来模拟一个图书馆的借阅情况:
library = {'《红楼梦》': {'借阅人': '小明', '借阅时间': '2021-01-15', '到期时间': '2021-02-15'},
'《西游记》': {'借阅人': '小红', '借阅时间': '2021-02-01', '到期时间': '2021-03-01'},
'《三国演义》': {}}
其中,'《红楼梦》'和'《西游记》'已经被借出,而'《三国演义》'还没有被借阅。可以根据需要,随时对字典进行增删改查的操作。
例如,将'《水浒传》'加入图书馆:
library['《水浒传》'] = {}
此时,字典为:
{'《红楼梦》': {'借阅人': '小明', '借阅时间': '2021-01-15', '到期时间': '2021-02-15'},
'《西游记》': {'借阅人': '小红', '借阅时间': '2021-02-01', '到期时间': '2021-03-01'},
'《三国演义》': {},
'《水浒传》': {}}
可以看到,'《水浒传》'已经被成功加入。
又例如,小明要归还'《红楼梦》',则可以将其借阅信息删除:
del library['《红楼梦》']['借阅人']
del library['《红楼梦》']['借阅时间']
del library['《红楼梦》']['到期时间']
此时,字典为:
{'《红楼梦》': {},
'《西游记》': {'借阅人': '小红', '借阅时间': '2021-02-01', '到期时间': '2021-03-01'},
'《三国演义》': {},
'《水浒传》': {}}
可以看到,'《红楼梦》'的借阅信息已经删除成功。
除此之外,二维字典还可以有更多的用途。希望这个攻略能够帮助到刚刚学习Python的读者。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的“二维”字典 (two-dimension dictionary)定义与实现方法 - Python技术站