字典数组的奇怪行为

时间:2015-11-05 12:12:53

标签: python

我想要一个字典数组,这样数组的长度为3。 所以,我做了

X = [{}] * 3

现在我想填充这些词典中的第一个。所以,我做了:

X[0]['hi'] = 'hello'

现在,如果我打印X,我期待看到:

[{'hi': 'hello'}, {}, {}]

但令我惊恐的是,我看到的是:

[{'hi': 'hello'}, {'hi': 'hello'}, {'hi': 'hello'}]
显然,三个词典是相同的。有人能告诉我为什么python做出这个设计选择吗?另外,除了显式迭代之外,还有一种方法可以用空的dicts初始化数组吗?

0 个答案:

没有答案