解决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 相关文章推荐
c++生成dll使用python调用dll的方法
Jan 20 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
python3正则提取字符串里的中文实例
Jan 31 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
Python pip配置国内源的方法
Feb 14 Python
python如何写try语句
Jul 14 Python
Python3+selenium配置常见报错解决方案
Aug 28 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 字符转义 注意事项
2009/05/27 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
纯文字版返回顶端的js代码
2013/08/01 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Vue实现手机计算器
2020/08/17 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
介绍一下OSI七层模型
2012/07/03 面试题
博士生入学考试推荐信
2013/11/17 职场文书
大学生的网上创业计划书
2013/12/31 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
高中体育教学反思
2014/01/29 职场文书
村抢险救灾方案
2014/05/09 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
工商局调档介绍信
2015/10/22 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书