gpt4 book ai didi

python - 只有字典的最新值被添加到列表中

转载 作者:行者123 更新时间:2023-12-01 12:07:06 25 4
gpt4 key购买 nike

通过 for 循环创建字典列表

我一直在尝试通过 for 循环创建一个字典列表,代码如下所示

a=["x","y","z"]
b=[1,2,3]
dict1={}
superlist=[]
for i in range(0,len(a)):
dict1['name']=a[i]
dict1['values']=b[i]
superlist.append(dict1)

我期望的输出是[{'name':'x', 'values':1},{'name':'y', 'values':2},{'name':'z', 'values':3 }],

我得到了

[{'name':'z', 'values':3},{'name':'z', 'values':3},{'name':'z', 'values ':3}]

我不太确定这里发生了什么,如果有人能解释并帮助我得到我想要的结果,那就太好了。

最佳答案

您在每次迭代时都附加了对 dict1 的引用,但您每次也都在更改键的值,这样当您结束时,您就会有一个对同一个字典的引用列表(这就是为什么它们看起来都一样)。

简单的解决方法是将 dict1 = {} 移动到您的 for 循环中。这样你就可以创建一个新的字典,它有自己的键值对,并附加到每次迭代中。

关于python - 只有字典的最新值被添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55541009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com