Pythonic设置默认方式

时间:2011-02-19 00:34:34

标签: python default-value

是否有一种在python中设置默认值的简单方法 - 特别是在dict中设置默认值?

例如,假设我有一个名为foo的词典,它可能会或可能没有在键bar上分配的内容。这样做的冗长方式是:

if not foo.has_key('bar'):
  foo['bar'] = 123

另一种选择是:

foo['bar'] = foo.get('bar',123)

是否有一些标准的python方式可以做到这一点 - 如下所示,但实际上有效吗?

foo['bar'] ||= 123

3 个答案:

答案 0 :(得分:5)

没有人阅读the documentation

foo.setdefault('bar', 123)

答案 1 :(得分:3)

您可以查看defaultdict

答案 2 :(得分:1)

(错误的答案的第一部分已编辑)

Dict的{​​{1}}方法与setdefault()一样,只有在缺少密钥时才会插入值。

get()

干杯。