完美解决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 相关文章推荐
Using Django with GAE Python 后台抓取多个网站的页面全文
Feb 17 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
python字典的遍历3种方法详解
Aug 10 Python
python web框架 django wsgi原理解析
Aug 20 Python
python tkinter基本属性详解
Sep 16 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
基于Python绘制个人足迹地图
Jun 01 Python
Python3如何实现Win10桌面自动切换
Aug 11 Python
Python入门之使用pandas分析excel数据
May 12 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对象实例化单例方法
2017/01/19 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
vue项目中使用fetch的实现方法
2019/04/25 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
tensorflow获取变量维度信息
2018/03/10 Python
numpy中矩阵合并的实例
2018/06/15 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Opencv求取连通区域重心实例
2020/06/04 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
2014学雷锋活动心得体会
2014/03/10 职场文书
法律专业求职信
2014/05/24 职场文书
小学端午节活动总结
2015/02/11 职场文书
活动宣传稿范文
2015/07/23 职场文书