完美解决python遍历删除字典里值为空的元素报错问题


Posted in Python onSeptember 11, 2016

exam = { 'math': '95', 'eng': '96', 'chn': '90', 'phy': '', 'chem': '' }

使用下列遍历的方法删除:

1. for e in exam:
2. if exam[e] == '':
3. del exam[e]

结果出现下列错误,怎么解决:

Traceback (most recent call last):
 File "Untitled.py", line 3, in <module>
  for e in exam:
RuntimeError: dictionary changed size during iteration

正确做法:

1. s = {"1":a,"2":b,"3":c,"4":d,"5":e}
2. s_key = list(s.keys())
3. for k_s in s_key:

4.#比如我要删除第四个元素

5.del s["4"]

只是在for循环中,相当于对链表的操作,它会自动调用next方法!

字典的迭代器会遍历它的键,在这个过程中,不能改变这个字典!不能删除、添加数据

要先记录要删除的元素的索引,遍历完后再删除,exam.keys()返回的是一个独立的列表

以上这篇完美解决python遍历删除字典里值为空的元素报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
详解Python实现按任意键继续/退出的功能
Aug 19 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
Python实现微信小程序支付功能
Jul 25 Python
Python阶乘求和的代码详解
Feb 14 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
python实现canny边缘检测
Sep 14 Python
python面向对象版学生信息管理系统
Jun 24 Python
python和anaconda的区别
May 06 Python
python 循环遍历字典元素的简单方法
Sep 11 #Python
遍历python字典几种方法总结(推荐)
Sep 11 #Python
python遍历 truple list dictionary的几种方法总结
Sep 11 #Python
浅谈python中的变量默认是什么类型
Sep 11 #Python
python中常用的九种预处理方法分享
Sep 11 #Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 #Python
python 打印对象的所有属性值的方法
Sep 11 #Python
You might like
一个改进的UBB类
2006/10/09 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
如何基于Python实现数字类型转换
2020/02/07 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
高三生物教学反思
2014/01/25 职场文书
中国好声音广告词
2014/03/18 职场文书
教师党员公开承诺书
2014/03/25 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
早读课迟到检讨书
2014/09/25 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
MySQL基础(一)
2021/04/05 MySQL