gpt4 book ai didi

python - 在 Python 中,为什么没有在嵌套字典中查找键的内置函数?

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:02 26 4
gpt4 key购买 nike

详细说明

sample_dict = {"key1" : {"key2" : "value_of_interest}}

现在我希望能够进行以下调用

val = sample_dict.recursive_get("key2", None)

我可以想到很多这会很有用的情况。例如,从以 JSON 形式出现的 api 响应中获取键值对。

而且我知道编写这样的函数并不难,但我的问题是 - 为什么它还没有包含在内?

如果它导致糟糕的设计,请提供一些例子。

最佳答案

假设,正如一些评论者指出的那样,指向您的“感兴趣的值(value)”的键在嵌套层次结构中出现多次:

sample_dict = {'key1': {'key1': 'value_of_interest'}}
val = sample_dict.recursive_get('key1', None)

val 的值是多少?内部字典? 'value_of_interest'应该是什么?哪个答案违反了 principle of least astonishment

像这样的 dict 怎么样?

sample_dict = {
'key1': [
{'key1': 'value_of_interest'},
{'key2': 'less_interesting_value'},
],
}

递归是否应该在每个级别检查可能的 list 或数组?像这样的字典并不少见,尤其是当由 JSON 形成时。

关键是那里有很多不同的字典,它们可以用很多不同的方式嵌套。 Python 非常精良,可以相当优雅地处理所有这些问题。不过,我想不出 recursive_get 的定义。

关于python - 在 Python 中,为什么没有在嵌套字典中查找键的内置函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344744/

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