Python嵌套字典的遍历

本文介绍了如何遍历Python中的嵌套字典,包括如何获取特定路径的值,如1024,以及如何获取所有key为7的value。提供了直接输出和递归遍历两种方法。

对于字典:d = {1:1, 2:2, 3:{4:44, 5:55, 6:{7:{7:1024}, 8:88}}, 9:9 }
1.如何获取到{7:1024}中的1024?
2.如何获取到所有key为7的value值?

方法一: 直接输出

d = {1:1, 2:2, 3:{4:44, 5:55, 6:{7:{7:1024}, 8:88}}, 9:9 }

print("{7:1024}中的1024:",d[3][6][7][7])
print("所有key为7的value值:", d[3][6][7],d[3][6][7][7])

在这里插入图片描述
这种方法一般不使用

方法二: 递归遍历

d = {1:1, 2:2, 3:{4:44, 5:55, 6:{7:{7:1024}, 8:88}}, 9:9 }

def get_dict_value(now_dict, target_key, results=[]):
	for key in now_dict.keys():  # 当前迭代的字典
		data = now_dict[key]  # 当前key所对应的value赋给data

		if isinstance(data, dict):  # 如果data是一个字典,就递归遍历
			get_dict_value(data, target_key, results=results)  

		if key==target_key and isinstance(data, dict) != True:  # 找到了目标key,并且它的value不是一个字典
			results.append(now_dict[key])
			
	return results

res = get_dict_value(d, 7, results=[])
print(res)

获取所有key为7的value值:

if key==target_key: 
	results.append(now_dict[key])

输出结果:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值