目录
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)
运行结果:
上述的嵌套型字典中,字典第一层的 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)
运行结果:
7、嵌套型字典的一些用途 可能有些疑惑,字典嵌套这么多层,在哪些地方可以用呢? 这里分享一个用途。嵌套型字典,经常在机器学习中的决策树算法中涉及到。 它也可以用树的形式显示出来,这在决策树中会经常用到。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)