相关疑难解决方法(0)

仅在尚未设置值的情况下在dict中设置值

如果该值尚未设置,那么在a中设置值的最pythonic方法dict是什么?

目前我的代码使用if语句:

if "timeout" not in connection_settings:
    connection_settings["timeout"] = compute_default_timeout(connection_settings)
Run Code Online (Sandbox Code Playgroud)

dict.get(key,default)适用于使用dict的代码,而不适用于准备将dict传递给另一个函数的代码.你可以用它来设置一些东西,但它不是更漂亮的imo:

connection_settings["timeout"] = connection_settings.get("timeout", \
    compute_default_timeout(connection_settings))
Run Code Online (Sandbox Code Playgroud)

即使dict包含密钥,也会评估计算功能; 错误.

Defaultdict是默认值相同的时候.

当然,有很多时候你设置了不需要计算作为默认值的主要值,它们当然可以使用dict.setdefault.但是更复杂的情况呢?

python dictionary lazy-evaluation

11
推荐指数
4
解决办法
6151
查看次数

标签 统计

dictionary ×1

lazy-evaluation ×1

python ×1