我在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?
答案 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: []}