【发布时间】:2018-07-07 15:15:35
【问题描述】:
在 Python 中,我正在尝试创建一个包含 2 个独立字典(dict1 和 dict2)的列表。但是,当我使用 append 和 update 方法将它们都添加到新列表时,它似乎改变了我的 dict1 字典。
n = []
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4, "e": 5}
n.append(dict1)
n[0].update(dict2)
这给了我想要的n 的结果,但它也覆盖了我的dict1,这是不想要的。
dict1
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
为什么会这样?如何在不修改我的第一个字典的情况下实现将 2 个字典加入列表的目标?这段代码的目的是将 2 个 JSON 文档合二为一,以防有人想知道。
【问题讨论】:
-
那是因为
dict1和n[0]指的是同一个字典。如果您想要副本,请使用副本:n.append(dict1.copy())
标签: python list dictionary append updates