0
我有一个包含字典的字典,字典可能包含无限字典。我想更改所有字典中的每个键,但映射到其中一个嵌套字典的键除外。据我所知,键是不可变的,我想要做这样的事情:如何重命名具有任意深度的字典的Python字典中的键
layer[item + '_addition'] = layer.pop(item)
我有现在的问题是:
def alterKeys(item, layer=topLevelDict):
if isinstance(item, dict):
for i in item:
alterKeys(item[i], item)
else:
layer[item + '_addition'] = layer.pop(item)
这是不行的,因为它会不断递归旅行直到最后一行试图从字典中弹出一个值,而不是一个会引发KeyError的键。 我知道我很接近解决方案,但我一直在想这个问题几分钟,我似乎无法弄清楚。