dict.fromkeys 是一个构造 dict 的函数,下面通过一段代码片段来了解一下它的构造过程:
dict.fromkeys(['k1','k2'],[])
使用 fromkeys 构造的关键字对应的 value 都指向了同一个空的数组。
v['k1'].append(666)
对其中一个关键字的内容实用 append 进行修改,操作的是共同的 list。
print(v)
{'k1': , 'k2': }
使用 = 进行赋值修改,可以在下图中看到修改的是关键字对应的 value。可以这样理解,关键字的value 并不能使用 append 函数,只是当它恰好是 list 数组的时候,可以使用。因此,在 append 被调用的时候,相当于说 key 值已经知道自己的 value 值是一个数组,同时它要调用这个数组的 append 函数。
v['k1'] = 777
print(v)
{'k1': 777, 'k2': }