要获取Python字典中与不同列表中的值相对应的所有内层嵌套键的列表,可以使用递归的方式遍历字典的键值对。以下是一个示例代码:
def find_keys(dictionary, target_values, current_keys=[]):
result = []
for key, value in dictionary.items():
if isinstance(value, dict):
new_keys = current_keys + [key]
result.extend(find_keys(value, target_values, new_keys))
elif value in target_values:
result.append(current_keys + [key])
return result
这个函数find_keys
接受三个参数:dictionary
是要搜索的字典,target_values
是目标值的列表,current_keys
是当前的键列表,默认为空列表。
函数首先遍历字典的键值对,如果值是字典类型,则递归调用find_keys
函数,并将当前键添加到current_keys
列表中。如果值在目标值列表中,则将当前键列表添加到结果列表中。
使用这个函数,你可以得到与不同列表中的值相对应的所有内层嵌套键的列表。以下是一个示例:
dictionary = {
'a': {
'b': {
'c': 1,
'd': 2
},
'e': {
'f': 3,
'g': 4
}
},
'h': {
'i': {
'j': 5,
'k': 6
},
'l': {
'm': 7,
'n': 8
}
}
}
target_values = [1, 4, 7]
result = find_keys(dictionary, target_values)
print(result)
输出结果为:
[['a', 'b', 'c'], ['a', 'e', 'g'], ['h', 'l', 'm']]
这个结果表示与目标值1、4和7相对应的所有内层嵌套键的列表。
关于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或者腾讯云官方网站获取更详细的信息。
领取专属 10元无门槛券
手把手带您无忧上云