发布于 2016-10-22 11:13:25 | 386 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Python3 Cookbook中文版,程序狗速度看过来!

Python编程语言

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。


下面小编就为大家带来一篇完美解决python遍历删除字典里值为空的元素报错问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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遍历删除字典里值为空的元素报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务