完美解决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 相关文章推荐
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
理解python正则表达式
Jan 15 Python
教大家使用Python SqlAlchemy
Feb 12 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
numpy.random模块用法总结
May 27 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
Python登录系统界面实现详解
Jun 25 Python
解决Python正则表达式匹配反斜杠''\''问题
Jul 17 Python
python实现扫雷游戏
Mar 03 Python
Flask使用SQLAlchemy实现持久化数据
Jul 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和ACCESS写聊天室(一)
2006/10/09 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
关于axios如何全局注册浅析
2018/01/14 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
解决Python二维数组赋值问题
2019/11/28 Python
德国自行车商店:Tretwerk
2019/06/21 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python