2023年7月26日发(作者:)
python使⽤遍历在列表(list)中添加字典(dict)错误⽰例:
nid = "1,2"print((','))mydict = {}datas = []for i in (','): mydict["id"] = str(i) mydict["checked"] = True (mydict)print(str(datas))运⾏结果:['1', '2'][{'id': '2', 'checked': True}, {'id': '2', 'checked': True}]正确⽰例:nid = "1,2"print((','))datas = []for i in (','): mydict = {} mydict["id"] = str(i) mydict["checked"] = True (mydict)print(str(datas))运⾏结果:['1', '2'][{'id': '1', 'checked': True}, {'id': '2', 'checked': True}]原因解释:因为每次添加的都是同⼀个内存到list中去了,mydict每次写⼊的时候改变了内存中的value,但是地址不变,即是,创建了⼀次内存空间,只会不断的改变value了,添加到list中的时候value已经改了。所以需要在for循环⾥⾯去每次循环都创建⼀个空的dict,以保证之前添加过的不会被改变。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690305738a329611.html
评论列表(0条)