gpt4 book ai didi

python - 检查键是否在字典中并在同一个 "if"中获取它的值是否安全?

转载 作者:太空狗 更新时间:2023-10-30 00:25:02 24 4
gpt4 key购买 nike

我认为这是安全的:

if key in test_dict:
if test_dict[key] == 'spam':
print('Spam detected!')

但是这样安全吗?

if key in test_dict and test_dict[key] == 'spam':
print('Spam detected!')

它应该做同样的事情,因为条件检查在 python 中是惰性的。它不会尝试获取值(并引发异常,因为字典中没有这样的键)因为第一个条件已经不满足。但是我可以依靠懒惰并在我的程序中使用第二个示例吗?

最佳答案

是的,这是安全的,如果第一个表达式结果为 False,Python 会短路,也就是说它不会计算 if 条件中的第二个表达式。

但更好的方法是使用 .get() ,如果 key 不在 dictionary 中,它返回 None 。示例 -

if test_dict.get(key) == 'spam':
print('Spam detected!')

关于python - 检查键是否在字典中并在同一个 "if"中获取它的值是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679180/

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