解决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 相关文章推荐
pymongo给mongodb创建索引的简单实现方法
May 06 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
git进行版本控制心得详谈
Dec 10 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
python读取图片任意范围区域
Jan 23 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
Oct 27 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 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/08/30 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
pytorch实现线性拟合方式
2020/01/15 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
夏季药店促销方案
2014/08/22 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
优秀团员个人总结
2015/02/26 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python