将值添加到单个键但添加到多个键

时间:2015-02-28 05:30:53

标签: python

在下面的代码中,对我来说非常奇怪,0和1被添加到BOTH键中:

zip_to_dict1 = zip(["a", "b"], [[]]*2)
dict1 = dict(zip_to_dict1)
dict1["a"].append(0)
dict1["b"].append(1)
print(dict1["a"], dict1["b"])
# [0, 1] [0, 1]

然而,这种方式有所作为:

zip_to_dict2 = zip(["a", "b"], [[], []])
dict2 = dict(zip_to_dict2)
dict2["a"].append(0)
dict2["b"].append(1)
print(dict2["a"], dict2["b"])
# [0] [1]

[[]]*2[[], []]之间是否存在差异?:

[[]]*2 == [[], []]
# True

......问题是什么?

(注意:我使用的是Python 3.4.1)

0 个答案:

没有答案