完美解决python遍历删除字典里值为空的元素报错问题
作者:jingxian 时间:2023-04-23 13:39:50
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
投稿
猜你喜欢
MySQL主从复制问题总结及排查过程
2024-01-15 07:05:44
python的numpy模块实现逻辑回归模型
2022-10-01 07:05:59
如何用mysql自带的定时器定时执行sql(每天0点执行与间隔分/时执行)
2024-01-16 01:58:31
Tensorflow:转置函数 transpose的使用详解
2021-01-17 20:36:37
python根据txt文本批量创建文件夹
2021-12-18 21:24:52
解析MYSQL显示表信息的方法
2024-01-15 12:17:49
Python爬虫框架之Scrapy中Spider的用法
2023-10-04 10:38:21
python实现整数序列求和
2023-12-14 06:53:10
windows python3安装Jupyter Notebooks教程
2023-04-13 12:56:16
python实现猜单词游戏
2023-01-22 22:32:43
2019 Python最新面试题及答案16道题
2022-07-01 03:04:49
Python实现数通设备端口使用情况监控实例
2021-02-09 23:56:41
Python暴力破解Mysql数据的示例
2024-01-23 17:29:37
使用面向对象的技术创建高级JavaScript Web 应用程序
2008-11-03 13:00:00
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
2011-04-07 10:35:00
Oracle 跨库 查询 复制表数据 分布式查询介绍
2024-01-24 23:56:08
Oracle临时表空间删除和重建实现过程
2023-07-18 09:26:04
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2023-05-25 23:48:29
pyqt5移动鼠标显示坐标的方法
2023-06-09 22:37:30
封装了一个js图片轮换效果的函数
2024-06-21 20:21:48