起因:
需要提出字典对象中value为空的key
def test_dic(dic):
for x in dic.keys():
if dic[x] is None:
dic.pop(x)
return dic
t_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 dic
t_dic = {'a1': None, 'b1': 1}
print(test_dic(t_dic))
运行成功,成功打印了:{'b1': 1}