完美解决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爬虫之urllib2使用指南
Nov 05 Python
Python中表示字符串的三种方法
Sep 06 Python
python+flask实现API的方法
Nov 21 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
Python中字符串与编码示例代码
May 20 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
Django用户认证系统 组与权限解析
Aug 02 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
Python 如何批量更新已安装的库
May 26 Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
Python list和str互转的实现示例
Nov 16 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
php学习笔记之 函数声明
2011/06/09 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
JavaScript 学习初步 入门教程
2010/03/25 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
Pyramid添加Middleware的方法实例
2013/11/27 Python
python中map()与zip()操作方法
2016/02/27 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
python定义具名元组实例操作
2021/02/28 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
党校学习自我鉴定
2014/02/24 职场文书
房地产促销活动方案
2014/03/01 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android
python区块链持久化和命令行接口实现简版
2022/05/25 Python