Python数据类型-嵌套型字典

Python数据类型-嵌套型字典,第1张

Python数据类型-嵌套字典

目录

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、嵌套型字典的一些用途  可能有些疑惑,字典嵌套这么多层,在哪些地方可以用呢? 这里分享一个用途。嵌套型字典,经常在机器学习中的决策树算法中涉及到。 它也可以用树的形式显示出来,这在决策树中会经常用到。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5157729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存