解决Python 遍历字典时删除元素报异常的问题_python

错误的代码①

d = {'a':1, 'b':0, 'c':1, 'd':0}
for key, val in d.items():
  del(d[k])

错误的代码② -- 对于Python3

d = {'a':1, 'b':0, 'c':1, 'd':0}
for key, val in d.keys():
  del(d[k])

正确的代码

d = {'a':1, 'b':0, 'c':1, 'd':0}
keys = list(d.keys())
for key, val in keys:
  del(d[k])

以上这篇解决Python 遍历字典时删除元素报异常的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
遍历字典
python 遍历字典元素、python 遍历字典、python 遍历嵌套字典、python遍历字典的key、python如何遍历字典,以便于您获取更多的相关知识。

时间: 2024-12-14 06:14:11

解决Python 遍历字典时删除元素报异常的问题_python的相关文章

解决Python中字符串和数字拼接报错的方法_python

前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # coding=utf8 str = '你的分数是:' num = 82 text = str+num+'分 | 琼台博客' print text 执行结果 直接报错:TypeError: cannot concatenate 'str' and 'int' objects 解决这个方法只有提前把num转换为字符串类型,可以使用bytes函数把int

Java 遍历Map时 删除元素

package net.nie.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { private static Map<Integer, String> map=new HashMap<Integer,String>(); /** 1.HashMap 类映射不保证顺序:某些映射可明确保证其顺序: TreeMap 类 *

完美解决python遍历删除字典里值为空的元素报错问题_python

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

python实现从字典中删除元素的方法

  本文实例讲述了python实现从字典中删除元素的方法.分享给大家供大家参考.具体分析如下: python的字典可以通过del方法进行元素删除,下面的代码详细演示了这一过程 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Create an empty dictionary d = {} # Add an item d["name"] = "Fido" assert d.has_key("name") # Del

Python遍历文件夹和读写文件的实现代码_python

需 求 分 析 1.读取指定目录下的所有文件 2.读取指定文件,输出文件内容 3.创建一个文件并保存到指定目录 实 现 过 程 Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Java写了一个写入.创建.复制.重命名文件要将近60行代码: 不过简洁的代价是牺牲了一点点运行速度,但随着硬件性能的提升,运行速度的差异会越来越小,直到人类无法察觉~ #-*- coding: UTF-8 -*- ''' 1.读取指定目录下的所有文件 2.读取指定文件,输出文件内容 3.创建一个文

python遍历 truple list dictionary的几种方法总结_python

实例如下: def TestDic1(): dict2 ={'aa':222,11:222} for val in dict2: print val def TestDic2(): dict2 ={'aa':222,11:222} for (key,val) in dict2.items(): print key,":",val def TestList1(): list=[1,2,3,4,5,3,2,'ada','fs3'] for i in range(len(list)): pr

解决Python中由于logging模块误用导致的内存泄露_python

首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接的信息, 所以每一个 连接就创建了一个日志实例, 并分配一个 Formatter, 创建日志实例为了区分其他连接 所以我就简单粗暴的用了当前对象的 id 来作为日志名称: import logging class Conne

python读取html中指定元素生成excle文件示例_python

Python2.7编写的读取html中指定元素,并生成excle文件 复制代码 代码如下: #coding=gbkimport stringimport codecsimport os,timeimport xlwtimport xlrdfrom bs4 import BeautifulSoup from xlrd import open_workbook class LogMsg:        def __init__(self,logfile,Level=0):              

[WPF]如何在关闭非模态子窗体时用消息框确认:解决最小化窗体时抛出的异常

又是一个看起来很简单的问题.像下面这样在Closing里弹出个MessageBox确认一下不就行了? public static void OnWindowClosing(object sender, CancelEventArgs e) { if (MessageBox.Show(string.Format("Are you sure to close the {0}?", (sender as Window).Title), "Confirm", Message