解决python给列表里添加字典时被最后一个覆盖的问题


Posted in Python onJanuary 21, 2019

如下所示:

>>> item={} ; items=[]  #先声明一个字典和一个列表,字典用来添加到列表里面
>>> item['index']=1    #给字典赋值
>>> items.append(item)
>>> items
[{'index': 1}]      #添加到列表里面复合预期
>>> item['index']=2    #现在修改字典
>>> item
{'index': 2}       #修改成功
>>> items.append(item)  #将修改后的新字典添加到列表
>>> items         #按预期应该是[{'index': 1}, {'index': 2}]
[{'index': 2}, {'index': 2}]
#找一下原因:
>>> id(item),id(items[0]),id(items[1])
(3083974692L, 3083974692L, 3083974692L)

可以看到item,items[0],items[1]都指向同一个对象,实际上是列表在多次添加(引用)同一个字典。

一种解决的办法:

>>> items=[]
>>> for i in range(3):
...   item={}     #每次都重新声明一个新字典
...   item['index']=i
...   items.append(item)
...   id(item)
... 
3084185084L
3084183588L
3084218956L
>>> items
[{'index': 0}, {'index': 1}, {'index': 2}]
>>>

以上这篇解决python给列表里添加字典时被最后一个覆盖的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django中URLconf和include()的协同工作方法
Jul 20 Python
python select.select模块通信全过程解析
Sep 20 Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 Python
python调用百度语音REST API
Aug 30 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
Python获取网段内ping通IP的方法
Jan 31 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
python 列表推导式使用详解
Aug 29 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
对python列表里的字典元素去重方法详解
Jan 21 #Python
在Python中字典根据多项规则排序的方法
Jan 21 #Python
详解opencv Python特征检测及K-最近邻匹配
Jan 21 #Python
pycharm远程开发项目的实现步骤
Jan 20 #Python
对python中类的继承与方法重写介绍
Jan 20 #Python
python 格式化输出百分号的方法
Jan 20 #Python
python自定义函数实现一个数的三次方计算方法
Jan 20 #Python
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
js获取form的方法
2015/05/06 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
九步学会Python装饰器
2015/05/09 Python
Python数据类型学习笔记
2016/01/13 Python
详解Python装饰器
2019/03/25 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
应届行政管理专业个人自我评价
2013/12/28 职场文书
股份合作协议书范本
2014/04/14 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
商铺门前三包责任书
2014/07/25 职场文书
禁毒心得体会范文
2016/01/15 职场文书
600字作文之感受大自然
2019/11/27 职场文书
Python实现批量自动整理文件
2022/03/16 Python