如何使用列表推导来预先填充具有瓷砖异常的dict(如果可能)

时间:2014-09-05 14:52:16

标签: python set list-comprehension

我了解到我可以在python中使用list comprehension预先填充dict:

bounds = {i:1 for i in range(4)}

但是如果我尝试在dict中添加其他元素,我会遇到语法错误:

# rise an error
bounds = {i:1 for i in range(4),5:2}

还有另一种方法可以用简洁的方式编写一个dict,其中大部分都具有相同的值,然后瓷砖上有异常吗?

1 个答案:

答案 0 :(得分:2)

这不是一套,而是一个词典。

您可以执行以下操作:

>>> x = {i:1 for i in range(4)}
>>> x.update({5:2})
>>> x
{0: 1, 1: 1, 2: 1, 3: 1, 5: 2}

但是,

>>> x = {i:1 for i in range(4)}.update({5:2})
>>> x is None
True

因为update在dict上就地操作,并且没有返回(或返回默认的None)。