字典setdefault方法如何工作?

时间:2014-09-30 10:28:02

标签: python

我在python shell中执行以下操作:

a = [0, 1]
b = [2, 4]
c = [2, 0]
d = [4, 3]

e = [a, b, c, d]
neighbour_list = {}

我想尝试以下方法:

neighbour_list.setdefault(x, [])

然后

print(neighbour_list)

打印

{4: []}

我不明白它在做什么。为什么python选择x为4?

1 个答案:

答案 0 :(得分:3)

如果先前已将x定义为4,则会发生这种情况。 Python没有“选择定义”这个,你必须拥有。

在您提供的代码中,您没有展示x是如何定义的,但它肯定已定义,否则您将获得NameError

>>> abcd_list = {}
>>> abcd_list.setdefault(x, [])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> x=4
>>> abcd_list.setdefault(x, [])
[]
>>> abcd_list
{4: []}
相关问题