python 遍历dict,删除其中元素时报错!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 遍历dict,删除其中元素时报错!相关的知识,希望对你有一定的参考价值。

这为什么会报错??我用的是python 3.4 晕死

参考技术A dictionary changed size during iteration 在iteration 的时候不能改变字典的尺寸追问

那我要实现这样的功能该怎么办呢?

追答a='a':1,'b':2,'c':3;b=a.copy()
for k in a.keys():
if a[k]>2:
del b[k]
 print(b)

本回答被提问者和网友采纳
参考技术B 下面是正解:
for k in list(a.keys()):
if a[k]>2:
del a[k]
参考技术C 打开电脑d盘,根据那个错误报告目录,一个一个子文件架找到那个排序在最后的那个文件。打开文件通过记事本方式打开,查看文件第十五行错误。list作为Python中最常用的数据结构之一,与其他编程语言的数组有相似的特点。
请注意(注:tuple元组类型与list类似,但是tuple的元素不能修改;set集合与list也类似,但是集合中的元素是无序的,且会自动除去重复元素)。直接用中括号[ ]索引其下标即可,或用for循环遍历所有的值。
当下标为负数时则代表从后往前所以(或理解为长度+负下标),即-1代表最后一个元素,-2代表倒数第2个元素。字典dict中可以用.keys()和.values()分别遍历dict的键和值字典dict中.get()函数可以返回指定键的值,如果字典中没有指定的key则返回None,不会报错。

facenet pyhton3.5 训练 train_softmax.py 时报错AttributeError: 'dict' object has no attribute '

报错原因:在进行facenet进行train_softmax.py训练时,在一轮训练结束进行验证时,报错AttributeError: ‘dict‘ object has no attribute ‘iteritems‘

解决方案:由于我的python时3.5的,Python3.5中:iteritems变为items,找到train_softmax程序修改如下:

技术图片

 

以上是关于python 遍历dict,删除其中元素时报错!的主要内容,如果未能解决你的问题,请参考以下文章

Python中dict的特点更新dict遍历dict

Python面试题目之(针对dict或者set数据类型)边遍历 边修改 报错dictionary changed size during iteration

Python中,dict(((1,2),(2,3)))可以,为啥dict((1,2))会报错呢?

Python 元组tuple 列表list 字典dict集合set迭代器生成器

dict遍历的时候删除dict中的值报错RuntimeError: dictionary changed size during iteration

Python - 字典(dict)删除元素