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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

Python获取电脑硬件信息及状态的实现方法

本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是Python程序设计中很有实用价值的技巧。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: #!/us...

wxPython实现窗口用图片做背景

wxPython实现窗口用图片做背景

本文实例为大家分享了wxPython实现窗口用图片做背景的具体代码,供大家参考,具体内容如下 效果图:   实现代码: #!/usr/bin/env python # -...

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络。 相对于感知器,采用了f(z)=z的激活函数,属于连续函数。 代价函数为LMS函数,最小均...

编写Python脚本批量下载DesktopNexus壁纸的教程

DesktopNexus 是我最喜爱的一个壁纸下载网站,上面有许多高质量的壁纸,几乎每天必上, 每月也必会坚持分享我这个月来收集的壁纸 但是 DesktopNexus 壁纸的下载很麻烦,...

Python实现Linux中的du命令

Python实现Linux中的du命令

实现代码如下: 说明:现在代码已实现du命令的 -s 统计功能,统计与系统du命令稍有差别,比如用ls -ld /root结果为4096,而du计算出来是1040,用当前python计算...