gpt4 book ai didi

python - 访问 dict 键,如果不存在则返回 None

转载 作者:IT老高 更新时间:2023-10-28 21:38:32 25 4
gpt4 key购买 nike

在 Python 中最有效的方法是什么:

my_var = some_var['my_key'] | None

即。如果 some_var 包含 'my_key',则将 some_var['my_key'] 分配给 my_var,否则为 my_var

最佳答案

如果字典中不存在 key ,Python 将抛出 KeyError,因此您无法以与 JavaScript 完全相同的方式编写代码。但是,如果您在示例中专门使用 dicts 操作,则有一个非常好的函数 mydict.get('key', default) 尝试从字典中获取 key 并返回默认值如果键不存在,则返回值。

如果您只想默认为 None,则无需显式传递第二个参数。

根据您的 dict 包含的内容以及您希望访问未设置键的频率,您可能也有兴趣使用 defaultdict来自 collections 包。这需要一个工厂,并使用它从 __missing__ 魔术方法中返回新值,只要您访问尚未明确设置的键。如果您的 dict 只包含一种类型,则它特别有用。

from collections import defaultdict

foo = defaultdict(list)
bar = foo["unset"]
# bar is now a new empty list

注意文档(适用于 2.7.13)声称,如果您不将参数传递给 defaultdict 它将返回 None 用于未设置的键。当我尝试它时(在 2.7.10 上,这正是我碰巧安装的),但没有成功,我收到了 KeyError。 YMMV。或者,您可以只使用 lambda:defaultdict(lambda: None)

关于python - 访问 dict 键,如果不存在则返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9285086/

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