这种方式是一定有问题的:

d = {'a':1, 'b':2, 'c':3}
for key in d:d.pop(key)

会报这个错误:RuntimeError: dictionary changed size during iteration


这种方式Python2可行,Python3还是报上面这个错误。

d = {'a':1, 'b':2, 'c':3}
for key in d.keys():d.pop(key)

Python3报错的原因是keys()函数返回的是dict_keys而不是list。Python3的可行方式如下:

d = {'a':1, 'b':2, 'c':3}
for key in list(d):d.pop(key)

参考:How to avoid “RuntimeError: dictionary changed size during iteration” error?

*** walker ***

转载于:https://blog.51cto.com/walkerqt/1687624

Python遍历字典删除元素相关推荐

  1. python 遍历list删除元素_详解Python遍历列表时删除元素的正确做法

    这篇文章主要介绍了详解Python遍历列表时删除元素的正确做法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.问题描述 这是 ...

  2. python遍历列表删除元素与修改元素

    这两天写代码的时候遇到了,纪录一下,下次就不用去翻别人的了. 删除元素的时候呢,这样写: for i in a[:]:a.remove(i) 如果是修改元素,在遍历时如果想用迭代器对元素进行修改,是不 ...

  3. python中字典删除元素

    方法一 pop(key[,default]) d = {'a':1,'b':2,'c':3} # 删除key值为'a'的元素,并赋值给变量e1 e1 = d.pop('a') print(e1) # ...

  4. Python遍历字典、集合与函数

    Python遍历字典.集合与函数 一.遍历字典 代码块 意义 keys() 该⽅法返回字典所有的key values() 该⽅法返回⼀个序列,序列中保存有字典的值 items() 该⽅法会返回字典中所 ...

  5. python 遍历字典

    python 遍历字典 d = {'a': 1, 'b': 2, 'c': 3, 4: 'd', 5: 'e'} for key in d:print(key, ":", d[ke ...

  6. hashmap移除元素_Java HashMap 如何正确遍历并删除元素的方法小结

    (一)HashMap的遍历 HashMap的遍历主要有两种方式: 第一种采用的是foreach模式,适用于不需要修改HashMap内元素的遍历,只需要获取元素的键/值的情况. HashMap myHa ...

  7. cocos2d-x CCArray用法 遍历和删除元素

    本文为 justbilt 原创,转载请标明原作者及原文出处,以示尊重! 作者:justbilt 原文:http://blog.justbilt.com/25/ 一.基本用法 1.声明初始化变量 C++ ...

  8. 浅谈为什么倒序遍历List删除元素没有问题

    要搞清楚这个问题,首先要知道如何正确的遍历List删除元素.注:下述代码完整版附在末尾. 先给出这次测试的list初始化结构: list.add("a");list.add(&qu ...

  9. C++ vector容器遍历并删除元素

    在使用C++ vector的迭代器遍历并删除元素时,存在一些不注意的误区,这里特此记录. 在使用迭代器遍历vector元素时,错误的删除方法: vector<int>::iterator ...

最新文章

  1. linux系统软件包分类,Linux软件包管理和编译安装
  2. php实现tail,Linux-如何用php实现Linux下的tail -f命令?
  3. DL之RBM:基于RBM实现手写数字图片识别提高准确率
  4. java的本地文件操作
  5. java操作word文档,深度解析,值得收藏
  6. Git和Github的学习
  7. java判断tcp是否阻塞_connect()调用在TCP堆栈中是非阻塞的(java)是什么意思
  8. jquery版相片墙(鼠标控制图片聚合和散开)
  9. Python编程基础及应用
  10. mysql 多维度统计_SQL统计——按照各种维度
  11. video autoplay失效
  12. matlab解决力学问题程序,力学专业程序实践:用MATLAB解决力学问题的方法与实例...
  13. 使用svg-sprite-loader 遇到的问题
  14. 初识htpp与tcp
  15. 综述:基于影像基因组学的肺癌诊断治疗方法研究
  16. 【matlab图像处理】直方图均衡化操作
  17. pca降维python实例_主成分分析(Principal component analysis, PCA)例子–Python | 文艺数学君...
  18. 个人向前端知识“复健”
  19. MySQL SQL基础DML
  20. 2节点弹性梁的稳定性分析(弹性基础)(python,有限元)

热门文章

  1. 为机柜鸣冤:数据中心被忽视的重要设备
  2. Ext2.0布局类初探
  3. AJAX 传值数据类型问题
  4. 比特币现金(BCH)是世界上最好货币的十大理由
  5. 运维经验分享:关于系统运维监控的几点建议
  6. java多线程——饥饿和公平
  7. percona xtrabackupd定期做全备,增量备份shell脚本
  8. windows7 下的日期没有internet时间的选项卡
  9. python基础-资料整理_已迁移
  10. 记一次网站部署遇到的问题