当前位置: 代码迷 >> 综合 >> python——遍历字典对象移除某个key时报错RuntimeError: dictionary changed size during iteration
  详细解决方案

python——遍历字典对象移除某个key时报错RuntimeError: dictionary changed size during iteration

热度:96   发布时间:2024-02-06 16:56:09.0

起因:

需要提出字典对象中value为空的key

def test_dic(dic):for x in dic.keys():if dic[x] is None:dic.pop(x)return dict_dic = {'a1': None, 'b1': 1}
print(test_dic(t_dic))

运行后报错:RuntimeError: dictionary changed size during iteration

在遍历时不能修改字典元素,修改遍历的方式:

def test_dic(dic):for x in list(dic.keys()):if dic[x] is None:dic.pop(x)return dict_dic = {'a1': None, 'b1': 1}
print(test_dic(t_dic))

运行成功,成功打印了:{'b1': 1}

  相关解决方案