gpt4 book ai didi

python - `if key in dict` 与 `try/except` - 哪个更易读?

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

我有一个关于习语和可读性的问题,对于这种特殊情况,Python 哲学似乎存在冲突:

我想从字典 B 构建字典 A。如果 B 中不存在特定键,则什么都不做并继续。

哪种方式更好?

try:
A["blah"] = B["blah"]
except KeyError:
pass

if "blah" in B:
A["blah"] = B["blah"]

“做事并请求原谅”与“简单明了”。

哪个更好,为什么?

最佳答案

异常(exception)不是条件。

条件版本更清晰。这很自然:这是直接的流控制,这是为条件设计的,而不是异常(exception)。

异常版本主要用作在循环中进行这些查找时的优化:对于某些算法,它允许从内部循环中消除测试。这里没有这个好处。它有一个小优势,它避免了两次说 "blah",但如果你做了很多这些,你可能应该有一个辅助 move_key 函数。

一般来说,我强烈建议您默认使用条件版本,除非您有特定的理由不这样做。条件是执行此操作的显而易见的方法,通常强烈建议首选一种解决方案而不是另一种解决方案。

关于python - `if key in dict` 与 `try/except` - 哪个更易读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4512557/

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