gpt4 book ai didi

python - 从 dict 和 key 的存在中获取 True 或 False

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

我正在尝试根据字典是否存在(不是 None)以及是否存在来获取 bool 值 TrueFalse包含一个值。

这是我的代码。我希望 enabled == False 但它被分配了 cfg 的值。

In [105]: cfg = {}

In [106]: is_enabled = cfg and cfg.get('enabled')

In [107]: is_enabled
Out[107]: {}

为什么 is_enabled == {}?这一定是一个明显的错误,但我没有看到。

最佳答案

欢迎来到短路 bool 运算符的世界。在表达式 cfg and ANYTHING 中,由于 cfg 为空,因此它的 bool 值为 False。因此,第二个操作数永远不会被评估。表达式的结果是第一个操作数,即 {}。请注意,表达式 0 and None 的值为 0,但表达式 1 and None 的值为 None!

也许您希望该行显示为 is_enabled = bool(cfg) and cfg.get('enabled') 或者甚至只是 is_enabled = cfg.get('enabled',False)

关于python - 从 dict 和 key 的存在中获取 True 或 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281903/

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