我新增了两个python,并且正在尝试增长字典的字典。我已经在php和perl中完成了这项工作,但python表现得非常不同。我相信对那些对python更熟悉的人来说是有道理的。这里是我的代码:python中的奇数嵌套字典行为
colnames = ['name','dob','id'];
tablehashcopy = {};
tablehashcopy = dict.fromkeys(colnames,{});
tablehashcopy['name']['hi'] = 0;
print(tablehashcopy);
输出:
{'dob': {'hi': 0}, 'name': {'hi': 0}, 'id': {'hi': 0}}
问题从第二到最后一条语句出现(我把打印为了方便)。我预计会发现一个元素已被添加到“名称”字典中,其关键字'hi'和值为0.但是这个键值对已添加到每个子字典中。为什么?
我已经在我的ubuntu机器上测试了这个在python 2.6和python 3.1中的行为是一样的。
+1代替'{} .fromkeys' – tgray 2010-03-12 17:44:14