解决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 相关文章推荐
python在windows命令行下输出彩色文字的方法
Mar 19 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python实现线程池的方法
Jun 30 Python
Python脚本暴力破解栅栏密码
Oct 19 Python
Python的装饰器使用详解
Jun 26 Python
pandas ix &iloc &loc的区别
Jan 10 Python
python重试装饰器的简单实现方法
Jan 31 Python
20行python代码实现人脸识别
May 05 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 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
杏林同学录(七)
2006/10/09 PHP
[转帖]PHP世纪万年历
2006/12/06 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
浅析PHP 按位与或 (^ 、&)
2013/06/21 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php命令行模式代码实例详解
2021/02/26 PHP
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
Python自动抢红包教程详解
2019/06/11 Python
python实现自动化上线脚本的示例
2019/07/01 Python
Django如何将URL映射到视图
2019/07/29 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
写自荐信三大法宝
2014/01/24 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
西游降魔篇观后感
2015/06/15 职场文书
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏