目录
1、什么是嵌套型的字典
2、创建一个嵌套型字典
3、从嵌套型字典中获取元素
4、修改嵌套型字典的元素(更改、增加或删除元素)
5、通过 for 循环来获取嵌套字典内的元素
6、用 pprint 输出嵌套型字典
7、嵌套型字典的一些用途
1、什么是嵌套型的字典
字典是以
key
、
value
的形式创建的,而嵌套型的字典有一个特征,就是
key
对应的
value
值也可以是一个字典。
最简洁的嵌套型字典如下:
d = {key1 : {key3 : value3},
key2 : {key4 : value4} }
2、创建一个嵌套型字典
nested_dict01 = {1: {'name':'Lemon', 'age': '18', 'city':'cs'},
2: {'name':'Lemon_zs', 'age': '18', 'city':'changsha'}}
print(nested_dict01)
nested_dict01 = {1: {'name':'Lemon', 'age': '18', 'city':'cs'},
2: {'name':'Lemon_zs', 'age': '18', 'city':'changsha'}}
print(nested_dict01)
运行结果:
上述的嵌套型字典中,字典第一层的 key 分别是 1 和 2,而他们对应的 value 值又是都是字典,里面的字典的 key
都是 “name”, “age” 和 “city” ,但对应的 value 不一样。3、从嵌套型字典中获取元素
从嵌套型字典中获取元素,跟从
list
,以及数组中获取元素时有些类似的。
嵌套型字典用
[]
进行不同层级元素的获取。
#从嵌套字典中获取元素
nested_dict01 = {1: {'name':'Lemon', 'age': '18', 'city':'cs'},
2: {'name':'Lemon_zs', 'age': '18', 'city':'changsha'}}
print(nested_dict01[1]['name'])
print(nested_dict01[2]['city'])
运行结果:
4、修改嵌套型字典的元素(更改、增加或删除元素)
针对嵌套型字典,同样是可以更新、增加或删除元素的
.
增加一个空的字典
#修改嵌套型字典的元素(更改、增加或删除元素)
nested_dict01 = {1: {'name':'Lemon', 'age': '18', 'city':'cs'},
2: {'name':'Lemon_zs', 'age': '18', 'city':'changsha'}}
# 增加一个空的字典
nested_dict01[3] = {}
print(nested_dict01)
运行结果:
修改或增加新的元素
# 修改元素内容 nested_dict01[2]['age'] = '26' # 增加新的元素 nested_dict01[3]['name'] = 'zws' print(nested_dict01)
运行结果:
在嵌套型字典中直接添加一个字典
# 在嵌套型字典中直接添加一个字典
nested_dict01[5]={'name': 'rx', 'age':'3', 'city':'ly'}
print(nested_dict01)
运行结果:
删除某个具体元素内容
# 删 除 某 个 具 体 元 素 内 容 del nested_dict01[5]['city'] print(nested_dict01)
运行结果:
删除嵌套字典里面的某个字典
# 删除嵌套字典里面的某个字典 del nested_dict01[5] print(nested_dict01)
运行结果:
5、通过 for 循环来获取嵌套字典内的元素
#通过 for 循环来获取嵌套字典内的元素
for main_id, main_info in nested_dict01.items():
print('nmain id: ', main_id)
for key in main_info:
print(key+':', main_info[key])
运行结果:
6、用 pprint 输出嵌套型字典
用
pprint
可以使字典显示层次更清晰,需要安装
pprint
,安装命令如下:
pip install pprint
演示如下:
# 需要安装pprint
# pip install pprint
# pprint 可以使字典显示层次更清晰
import pprint
menu = {'dinner':{'chicken':'good','beef':'average',
'vegetarian':{'tofu':'good',
'salad':{'caeser':'bad',
'italian':'average'}},
'pork':'bad'}}
pprint.pprint(menu)
运行结果:



