完美解决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的另外几种语言实现
Jan 29 Python
Python按行读取文件的简单实现方法
Jun 22 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python对列表中的各项进行关联详解
Aug 15 Python
python编程培训 python培训靠谱吗
Jan 17 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
Python实现Singleton模式的方式详解
Aug 08 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
Oct 12 Python
python语言的优势是什么
Jun 17 Python
Python datetime模块使用方法小结
Jun 18 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 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
thinkPHP实现表单自动验证
2014/12/24 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
Javascript与flash交互通信基础教程
2008/08/07 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
python通过函数属性实现全局变量的方法
2015/05/16 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
python__name__原理及用法详解
2019/11/02 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Python通过format函数格式化显示值
2020/10/17 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
毕业生护理专业个人求职信范文
2014/01/04 职场文书
好军嫂事迹材料
2014/01/15 职场文书
股权收购意向书
2014/04/01 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python