Python-dict setdefault - 关于仅将其用于设置

时间:2015-07-22 08:35:48

标签: python dictionary setdefault

我在这里看到了setdefault vs. getwhen using setdefault (vs. defaultdict)的讨论。

我的问题更多是关于编码风格。

我们同意不要将setdefault用于简单的字典设置:

d = {}
d[k] = v

但不是:

d.setdefault(k, v)

(使用setdefault提示,k可能已经在d,我们不想覆盖它。

如上面的链接所示 - 当我们想要引用setdefault的{​​{1}}(并使用它)时,我们也会使用dict key

value

现在,这是我的情况:

d.setdefault(k, []).append(v)

我需要这样做几次,所以我想在一行中完成所有工作。 因为我认为在一行中分配两次是不可读的:

self._container["abc"] = self._object_handler.add(MyObject(*params))
instance = self._container["abc"]
instance.set_bla()
<more setting>

我认为使用setdefault更好:

instance = self._container["abc"] = self._object_handler.add(MyObject(*params))

你怎么说 - 它是instance = self._container.setdefault("abc", self._object_handler.add(MyObject(*params))) 的用例吗?

0 个答案:

没有答案
相关问题