完美解决python遍历删除字典里值为空的元素报错问题
exam={'math':'95','eng':'96','chn':'90','phy':'','chem':''}
使用下列遍历的方法删除:
1.foreinexam:
2.ifexam[e]=='':
3.delexam[e]
结果出现下列错误,怎么解决:
Traceback(mostrecentcalllast): File"Untitled.py",line3,in<module> foreinexam: RuntimeError:dictionarychangedsizeduringiteration
正确做法:
1.s={"1":a,"2":b,"3":c,"4":d,"5":e}
2.s_key=list(s.keys())
3.fork_sins_key:
4.#比如我要删除第四个元素
5.dels["4"]
只是在for循环中,相当于对链表的操作,它会自动调用next方法!
字典的迭代器会遍历它的键,在这个过程中,不能改变这个字典!不能删除、添加数据
要先记录要删除的元素的索引,遍历完后再删除,exam.keys()返回的是一个独立的列表
以上这篇完美解决python遍历删除字典里值为空的元素报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短