这是代码段,本意是希望每次循环改变test_dict的值,但是循环结束后打印的结果却好像是生成了2个一样的test_dict
agent_list=[]
test_dict={}
result_agent_status=[
{'agent': '9769', 'name': 'Lillian'},
{'agent': '9768', 'name': 'Jack'}
]
for single_agent in result_agent_status:
test_dict['agent']=single_agent['agent']
agent_list.append(test_dict)
print(agent_list)
以下是打印结果:
[{'agent': '9768'}, {'agent': '9768'}]
字典是按地址传递的,当把同一个字典多次添加到列表中时,列表中每个字典都是同一个地址。
改变其中一个字典的属性,列表中所有字典都会一起改变。
应该是在循环中每次都创建一个新的字典,让列表中每个字典都是不同的地址。
代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。
agent_list=[]
result_agent_status=[
{'agent': '9769', 'name': 'Lillian'},
{'agent': '9768', 'name': 'Jack'}
]
for single_agent in result_agent_status:
test_dict={}
test_dict['agent']=single_agent['agent']
agent_list.append(test_dict)
print(agent_list)
test_dict
是字典啊
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632