关于#python#的问题

已知字典dict,删除它所有值为5的键值对,并打印删除后的dict(10分)dict={'a':1,'b':2,'c':3,'d':1,'e':5,'f':3,'g':5,'h':5}
提示:容器在遍历的时候不能删除子元素,因为这样会造成遍历无法识别下一个元素。例如容器原长度10,遍历的时候删除了一个,那么长度就变成9了,遍历的时候就会乱掉,同理,也不能增加元素。
本题的做法是先用copy函数复制一份,然后遍历复制品,删除的是dict的元素

dict = {'a':1, 'b':2, 'c':3, 'd':1, 'e':5, 'f':3, 'g':5, 'h':5}

# 复制一份原始字典
new_dict = dict.copy()

# 遍历复制字典,删除原始字典的元素
for key, value in new_dict.items():
    if value == 5:
        del dict[key]

# 打印删除后的字典
print(dict)