Python简单遍历字典及删除元素的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python简单遍历字典及删除元素的方法。分享给大家供大家参考,具体如下:

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

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)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的...

详解PyCharm配置Anaconda的艰难心路历程

详解PyCharm配置Anaconda的艰难心路历程

在安装好pycharm后,想着anaconda中的类库会比较全,就想着将anaconda配置到pycharm中,这样可以避免以后下载各种类库。 第一步就是要下载并安装anaconda,在...

Python实现一个简单的验证码程序

  老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的...

python pandas读取csv后,获取列标签的方法

在Python中,经常会去读csv文件,如下 import pandas as pd import numpy as np df = pd.read_csv("path.csv")...

Python实现代码统计工具(终极篇)

Python实现代码统计工具(终极篇)

本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对比。实测表明,CPLineCount...