完美解决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 subprocess模块学习总结
Mar 13 Python
解决Python中由于logging模块误用导致的内存泄露
Apr 23 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
OpenCV图像颜色反转算法详解
May 13 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
Pycharm小白级简单使用教程
Jan 08 Python
Python JSON编解码方式原理详解
Jan 20 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 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
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
smarty简单分页的实现方法
2014/10/27 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
javascript引用对象的方法
2007/01/11 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
Python 元类使用说明
2009/12/18 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
什么是SCM(软件配置管理)
2014/08/16 面试题
高中军训广播稿
2014/01/14 职场文书
仓管岗位职责范本
2014/02/08 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
财务会计实训报告
2014/11/05 职场文书
捐款通知怎么写
2015/04/24 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
python 提取html文本的方法
2021/05/20 Python
Python基础知识学习之类的继承
2021/05/31 Python
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
Redis特殊数据类型bitmap位图
2022/06/01 Redis