在下面的代码中,对我来说非常奇怪,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)