我有一个嵌套的字典,我试图用一个由键组成的路径来替换键的一个给定值。
基本示例:
path_to_value = ["fruit", "apple", "colour"]
replacement_value = "green"
dictionary = {"fruit": {"apple": {"colour": "red"}, "banana": {"colour": "yellow", "size": "big"}}}
我在Stackoverflow上找到了一个函数,但是它递归地替换了dict中我不想要的所有值。
def change_key(d, required_key, new_value):
for k, v in d.items():
if isinstance(v, dict):
change_key(v, required_key, new_value)
if k == required_key:
d[k] = new_value
任何帮助都将不胜感激。
2条答案
按热度按时间ee7vknir1#
我觉得这样应该行得通:使用除最后一个键之外的所有键来获取要修改的字典,然后使用最后一个键来修改它。
ifmq2ha22#
你可以试试这个