如果该值尚未设置,那么在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.但是更复杂的情况呢?