解决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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
wxPython窗口中文乱码解决方法
Oct 11 Python
python使用sorted函数对列表进行排序的方法
Apr 04 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
Apr 16 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
python类中super() 的使用解析
Dec 19 Python
python 实现汉诺塔游戏
Nov 28 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 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中用文本文件做数据库的实现方法
2008/03/27 PHP
php xml文件操作代码(一)
2009/03/20 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
php分页查询的简单实现代码
2017/03/14 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
python3中rank函数的用法
2019/11/27 Python
python global和nonlocal用法解析
2020/02/03 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
Python用SSH连接到网络设备
2021/02/18 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
大学生励志演讲稿
2014/04/25 职场文书
公司委托书怎么写
2014/08/02 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
2015年司法所工作总结
2015/04/27 职场文书