在遍历字典时,不能同时进行对字典进行修改,否则会导致字典大小改变,从而出现错误。可以尝试将需要进行修改的键值对收集到另一个列表中,并在遍历完成后再统一进行修改操作。示例如下:
my_dict = {'a': 1, 'b': 2, 'c': 3}
to_delete = []
for k, v in my_dict.items():
if v % 2 == 0:
to_delete.append(k)
for k in to_delete:
del my_dict[k]