思路整理:
代码实现:
1. 循环遍历取出外层的 key 和 value 的值
2、判断遍历后的 value 数据类型是否为:字典 dict
3、if true,则再次循环遍历取出 key 和 value 的值
代码实现:
# -*--*- coding: utf-8 -*--*-
# @Time : 2021/10/13 21:23
# @Author : PythonKimo
# @File : demo_test.py
# -*-*-*-*-*-*-*-*-*-*-*-*-*-
'''
【问题: 字典嵌套字典,如何取出层级嵌套的 key 和 value 】
'''
dict_1 = {
"id": 1,
"job": "软件测试",
"userInfo": {
"money": 100,
"name": "张三",
"sex": "男",
}
}
# 1.使用items()方法,取出字典中所有的键-值对,返回一个键值对列表
for key_1,value_1 in dict_1.items():
# 2.打印每次循环遍历后返回的键值对数据
print(f"取出的key为:{key_1} ,取出的value为:{value_1}")
# 3.使用 isinstance() 方法判断取出的 value 数据类型是否为:dict
if isinstance(value_1,dict):
print("\n----------我是分隔符----------\n")
# 4.对于获取到 dict 类型的 value 进行二次遍历,
for key_2,value_2 in value_1.items():
# 5.打印每次循环遍历后返回的键值对数据
print(f"嵌套字典取出的key为:{key_2} ,取出的value为:{value_2}")
>>> 【控制台输出结果:】
C:\Python\Python36\python.exe "D:/demo_test.py"
取出的key为:id ,取出的value为:1
取出的key为:job ,取出的value为:软件测试
取出的key为:userInfo ,取出的value为:{'money': 100, 'name': '张三', 'sex': '男'}
----------我是分隔符----------
嵌套字典取出的key为:money ,取出的value为:100
嵌套字典取出的key为:name ,取出的value为:张三
嵌套字典取出的key为:sex ,取出的value为:男
Process finished with exit code 0