我有一个这种类型的字典,其中的值是字典,而且字典中可以有嵌套的字典。像这样:
data = {'key1': {
'keya':{
'keyc': None
}
'keyb': None
}
'key2': {
'keyi':None,
'keyii': None
}
}
字典可以有很多(我们不知道values里面可以有多少字典)。我怎样才能像这样获得所有值中的所有键?
['key1', 'key2', 'keya', 'keyb', 'keyi', 'keyii']
最佳答案
你可以使用递归得到所有的键
def get_all_keys_rec(dic):
keys = [key for key in dic]
for val in dic.values():
if type(val)==dict:
inner_keys = get_all_keys_rec(val)
keys.extend(inner_keys)
return keys
print(get_all_keys_rec(data))
输出:
['key1', 'key2', 'keya', 'keyb', 'keyc', 'keyi', 'keyii']
关于python - 获取所有子词典的key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72508071/