Python 将JSON元素附加到列表中

Python 将JSON元素附加到列表中,python,json,Python,Json,当前结果是[{'sample':False},{'sample':False}] 我需要的响应是[{'sample':True},{'sample':False}] 我试过x.update({“sample”:False});同样的效果。您添加的是字典的“指针”(python对象),而不是副本 您可以尝试: x = [] a = {'sample': True} x.append(a) a["sample"] = False x.append(a) print(x) 可以您

当前结果是
[{'sample':False},{'sample':False}]

我需要的响应是
[{'sample':True},{'sample':False}]


我试过
x.update({“sample”:False})
;同样的效果。

您添加的是字典的“指针”(python对象),而不是副本

您可以尝试:

x = []
a = {'sample': True}
x.append(a)
a["sample"] = False
x.append(a)
print(x)

可以

您正在添加字典的“指针”(python对象),而不是副本

您可以尝试:

x = []
a = {'sample': True}
x.append(a)
a["sample"] = False
x.append(a)
print(x)

在附加之前,将[“sample”]更改为false是可以的,因此您将永远无法获得所需的输出。。这不是一个JSON元素,是一个只有一个条目的字典。@JeffUK我在更改它之前将a附加到x。@JeffUK这只是一个示例,要复制这个问题,为什么不直接执行x.append({'sample':False})而不使用“a”?为什么在编辑词典之前你需要先复制它?这些似乎增加了不必要的复杂性在附加之前,您将[“sample”]更改为false,因此您永远不会获得所需的输出。。这不是一个JSON元素,是一个只有一个条目的字典。@JeffUK我在更改它之前将a附加到x。@JeffUK这只是一个示例,要复制这个问题,为什么不直接执行x.append({'sample':False})而不使用“a”?为什么在编辑词典之前你需要先复制它?这些似乎增加了不必要的复杂性注意,这是一个肤浅的副本。如果有任何更深的嵌套,它将需要一个深拷贝。他不需要深拷贝,我们不知道,因为OP说这是示例代码。真正的代码可能有一个更复杂的对象。值得一提的是.import copy x.append(copy.deepcopy(a))注意,这是一个浅拷贝。如果有任何更深的嵌套,它将需要一个深拷贝。他不需要深拷贝,我们不知道,因为OP说这是示例代码。真正的代码可能有一个更复杂的对象。值得一提的是.import copy x.append(copy.deepcopy(a))