1 c=0
2 f={}
3 jiao={‘脚本一‘:122000,‘脚本二‘:189999,
4‘脚本三‘:99999,‘脚本4‘:25000000,‘jiaoben‘:126}
5for i in jiao.values():
6 c=c+i
7 average=c/len(jiao)
8for li in jiao.keys():
9if jiao[li]>average:
10del jiao[li]
11# f.setdefault(li,jiao[li])12print(average)
13print(li)
此时运行出现一下错误:
RuntimeError: dictionary changed size during iteration # 字典在迭代的时候改变了字典大小
这个问题在网上找的两种方法:1.是通过转换成列表进行删除;
2.一下为网上拷贝
for key in result.keys(): # 由 result 变为 result.keys()ifnot result[key]:
del result[key]
continue
第二种经过测试并没有解决问题,警告依然存在,
解决办法是不对它进行删除,对不删除的数据重新赋值给一个新的字典.
原文:https://www.cnblogs.com/leo-tail-x/p/9409461.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!