python列表添加json问题

代码示例,test值最后输出是全部9,不是想要的123...数值

jsonTest={
        "test": 0
    }
listTest=[]
for i in range(10):
    jsonTest['test']=i
    listTest.append(jsonTest)
print(listTest)
阅读 2.5k
1 个回答

因为列表的里的是同一个对象

jsonTest = {
    "test": 0
}

listTest = []
for i in range(10):
    jsonTest['test'] = i
    listTest.append(jsonTest)
    
print(listTest)
print [id(_) for _ in listTest]

你想要不同的话,在循环内新建实例

listTest = []
for i in range(10):
    jsonTest = {
        "test": i
    }
    listTest.append(jsonTest)

print(listTest)
print [id(_) for _ in listTest]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏