相关疑难解决方法(0)

如果不存在,Python会在dict中更新密钥

如果key不在dict.keys()中,我想在dict中插入一个键值对.基本上我可以这样做:

if key not in d.keys():
    d[key] = value
Run Code Online (Sandbox Code Playgroud)

但有更好的方法吗?或者这个问题的pythonic解决方案是什么?

python dictionary

53
推荐指数
5
解决办法
7万
查看次数

避免或延迟评估可能未使用的东西

如何在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().

python lazy-evaluation

6
推荐指数
2
解决办法
2101
查看次数

标签 统计

python ×2

dictionary ×1

lazy-evaluation ×1