RuntimeError: dictionary changed size during iteration错误 – Python量化投资

RuntimeError: dictionary changed size during iteration错误

Python中执行dict字典键值遍历时,出现这个错误提示 :RuntimeError: dictionary changed size during iteration

它的意思是 字典在迭代的过程中,字典本身大小发生了变化。

 

我们来看具体的情况,假设一个字典,如下:

test = {'aaaa': {'nums': 1859427}, 'bbbb': {'nums': 1725838}}
for k in test.keys():
    test.pop(k)

出现如下错误提示:


  File "F:/xxxxx.dddddx..xxxxx这里隐去了路径.py", line 11, in <module>
    for k in test.keys():

RuntimeError: dictionary changed size during iteration

记得以前keys()是静态的(- -,原谅我吧。要么是3.5和2.7的差异,要么是我记错了)

怎么办呢?我们跳出这个套路,改用仅遍历字典的键值:

for k in list(test.keys()):
    test.pop(k)

这样就ok啦。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论