在嵌套字典中,如果想要从同一个key名称中获取多个不同的值,可以使用递归的方式进行遍历。以下是一个示例代码:
def get_values(d, key):
result = []
if isinstance(d, dict):
for k, v in d.items():
if k == key:
result.append(v)
elif isinstance(v, dict):
result.extend(get_values(v, key))
elif isinstance(d, list):
for item in d:
result.extend(get_values(item, key))
return result
这个函数接受两个参数,第一个参数是嵌套字典,第二个参数是要查找的key名称。函数会递归地遍历字典和列表,如果找到了指定的key,就将对应的值添加到结果列表中。
以下是一个示例使用该函数的代码:
data = {
"key1": "value1",
"key2": {
"key1": "value2",
"key3": "value3"
},
"key4": [
{
"key1": "value4"
},
{
"key1": "value5"
}
]
}
result = get_values(data, "key1")
print(result) # 输出: ['value1', 'value2', 'value4', 'value5']
在这个例子中,我们在嵌套字典中查找key为"key1"的值,最终返回了包含所有匹配值的列表。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云