python 报错RuntimeError: dictionary changed size during iteration

1 a = {'1':11, '2':0, '3':0}
2 for b in list(a.keys()):
3     if a[b] == 0:
4         del a[b]
5 
6 print(a)

报错是因为在字典迭代期间改变字典大小

 

我们可以通过取出字典的键值,在转化为列表,这样在for循环期间就可以删除了

 

posted @ 2018-10-11 23:14  lonelyshy  阅读(705)  评论(0编辑  收藏  举报