gpt4 book ai didi

python - 如何在 Python 中获取 dict in dict 的路径?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:04 24 4
gpt4 key购买 nike

有字典是通过添加一些数据生成的:

some_dict = {'some_value1': {}, 'dict1': {'qwerty': None, 'bar': {}}}

我知道我可以使用更新方法向那里添加一些数据:

some_dict['dict1']['bar'].update({'some_key': value})

但是,如果部分代码不知道更新“bar”的正确方法怎么办?喜欢:

some_dict[???]['bar'].update({'some_key': value})

如何正确更新?

最佳答案

据我所知,没有标准的 Python 函数可以做你想做的事。您需要自己实现某种搜索算法。从广义上讲,您可以在 depth-first search 之间进行选择。或 breadth-first search策略。

前者的可能实现方式如下:

some_dict = {'some_value1': {}, 'dict1': {'qwerty': None, 'bar': {}}}

def get_nested_dict(d, name):
stack = [d]
while stack:
for k, v in stack.pop().items():
if k == name:
return v

if isinstance(v, dict):
stack.append(v)


print(some_dict)
get_nested_dict(some_dict, 'bar')['new'] = 1
print(some_dict)

制作:

{'some_value1': {}, 'dict1': {'qwerty': None, 'bar': {}}}
{'some_value1': {}, 'dict1': {'qwerty': None, 'bar': {'new': 1}}}

关于python - 如何在 Python 中获取 dict in dict 的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58866431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com