完美解决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实现LRU算法的2种方法
Jun 24 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python enumerate索引迭代代码解析
Jan 19 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
python中ASCII码和字符的转换方法
Jul 09 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
对python生成业务报表的实例详解
Feb 03 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
Python实现一个优先级队列的方法
Jul 31 Python
Python通过递归函数输出嵌套列表元素
Oct 15 Python
Python中tqdm的使用和例子
Sep 23 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
js运动事件函数详解
2016/10/21 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
python 以16进制打印输出的方法
2018/07/09 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
公司综合部的成员自我评价分享
2013/11/05 职场文书
理货员的岗位职责
2013/11/23 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
会计工作决心书
2014/03/11 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
《开国大典》教学反思
2014/04/19 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers