完美解决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监控网卡流量并使用graphite绘图的示例
Apr 27 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
Python使用python-docx读写word文档
Aug 26 Python
详解Python 中sys.stdin.readline()的用法
Sep 12 Python
详谈tensorflow gfile文件的用法
Feb 05 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
Feb 17 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
详解Python 函数参数的拆解
Sep 02 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
python dir函数快速掌握用法技巧
Dec 09 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
8个出色的WordPress SEO插件收集
2011/02/26 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
取得传值的函数
2006/10/27 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python计算程序运行时间的方法
2014/12/13 Python
python中as用法实例分析
2015/04/30 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
浅谈python锁与死锁问题
2020/08/14 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
《赵州桥》教学反思
2014/02/17 职场文书
《满井游记》教学反思
2014/02/26 职场文书
校运会宣传稿大全
2015/07/23 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL