Python 字典 dictionary changed size during iteration
来源:互联网 发布:linq to sql group by 编辑:程序博客网 时间:2024/06/04 16:21
1 TestMap = {1:0, 2:0, 3:1, 4:1}2 for key in TestMap:3 TestMap.pop(key)
运行结果:
for key in TestMap:RuntimeError: dictionary changed size during iteration
修改一下:
TestMap = {1:0, 2:0, 3:1, 4:1}'''for key in TestMap: TestMap.pop(key)'''for key in TestMap.keys(): TestMap.pop(key)
OK,运行正常。
分析:“for key in TestMap:”这种方式是通过iterator遍历字典(鄙人YY其内部可能是个链表),边遍历边删除会崩溃啊亲;“for key in TestMap.keys():”这种方式是通过便利一个列表来依次获取每个“key”(TestMap.keys()返回个列表),所以不崩溃啊亲。
联想:这个不容易发觉的问题让我想起了之前一个通过索引遍历列表,一边遍历一边删除会导致崩溃的问题,可是这两个问题还是有区别的。总的来讲还是遍历删除时要注意的问题。
本文首发于博客园,任何其他站点均为爬虫或转载,爬虫最无耻。
0 0
- Python 字典 dictionary changed size during iteration
- python RuntimeError: dictionary changed size during iteration
- dictionary changed size during iteration
- python3 RuntimeError: dictionary changed size during iteration
- Python3对字典操作时遇到错误:dictionary changed size during iteration
- RuntimeError: dictionary changed size during iteration,可变参数,关键字参数
- SRS3.0 流叠图 RuntimeError: dictionary changed size during iteration
- python3 .6 下 报错 RuntimeError: dictionary changed size during iteration
- Python dictionary 字典
- python Dictionary字典使用
- Python字典 (dictionary)
- Python 字典(Dictionary)
- Python 字典(Dictionary)
- Python字典 (dictionary)
- Python 字典(Dictionary)
- Python字典dictionary
- Python字典(Dictionary)
- Python菜鸟--字典(Dictionary)
- iOS——CFWaterWave水波效果工具
- Android——onSaveInstanceState()
- 缓存使用的策略优化
- [Toddler's Bottle]bof
- ldpack工作日记-2016/4/28
- Python 字典 dictionary changed size during iteration
- ElasticSearch学习17_Failed to deserialize response of type [*.SearchResponse]错误原因
- 算法竞赛入门经典第四章例题总结:
- TabHost基本简单功能用法
- BZOJ3676: [Apio2014]回文串
- 开启端口与关闭端口
- LINUX(centos7 + jdk7+mysql+tomcat7)环境配置
- PAT-B 1018. 锤子剪刀布
- 总结