【发布时间】:2016-07-11 14:32:00
【问题描述】:
我正在尝试将字典 (person_profile) 的字典复制到字典 (person_info) 的新字典中,因为我正在尝试将两个不同的字典(person_profile 和 person_attribute 合并到 person_info),但长度和键值不一定相同。下面是我的代码(我更改了变量只是为了让它听起来更简单):
for person in person_profile:
person_info.update({
person.id :
{'name' : person.name, 'age' : person.age}
})
# And call person_attribute again
for person in person_attribute:
person_info.update({
person.id :
{'occupation' : person.occupation, 'gender' : person.gender}
})
然而,上述方法似乎创建了一个集合而不是字典。我在其他文章中找不到如何做到这一点。解决此问题的推荐方法是什么?
== 已回答
for person in person_profile:
person_info[person.id] = {'name' : person.name, 'age' : person.age}
for person in person_attribute:
person_info[person.id].update({
'occupation' : person.occupation, 'gender' : person.gender
})
【问题讨论】:
-
您的代码没有创建集合,不。您正在在第二个循环中每次完全替换键入
person.id的字典。 -
请向我们提供一些示例输入(
person_info的起始值,以及虚拟person_profile和person_attribute列表),以及预期的person_info输出。 -
也向我们展示你得到的实际输出。
-
@MartijnPieters 问题是我用第二个字典替换了字典。非常感谢!
-
以后添加minimal reproducible example(包括我提到的输入和输出),这样我们就可以帮助您,而无需做出(有根据的)猜测。
标签: python dictionary set