如果key不在dict.keys()中,我想在dict中插入一个键值对.基本上我可以这样做:
if key not in d.keys():
d[key] = value
Run Code Online (Sandbox Code Playgroud)
但有更好的方法吗?或者这个问题的pythonic解决方案是什么?
如何在python中优雅地完成这种事情?它被称为懒惰评估还是我将名称与其他东西混合在一起?例如:
>>> def foo(x):
... print(x)
... return x
...
>>> random.choice((foo('spam'), foo('eggs')))
spam
eggs
'eggs'
Run Code Online (Sandbox Code Playgroud)
但我们并不是真的需要评估所有这些项目,还是我们呢?
这有效,但我发现它很难看:
>>> d = {1: "one"}
>>> d.get(2, foo("default"))
default
'default'
>>> d.get(1, foo("default"))
default
'one'
Run Code Online (Sandbox Code Playgroud)
另一个例子是使用foo()在那里foo()没有真正需要被调用,除非foo().