字典容器类型使用之坑

字典等容器类型使用不当,字典套字典,造成不该出现在内部字典中的数据出现在了字典中

解决:深浅拷贝,每次给字典中的key赋值为一个字典,然而,这个字典从来就没换过,只是定义了一个,然后一直用,造成报错。深拷贝解决。重新定义赋值。

# 错误:一直是一个地址。
defect_dict = {0: {}, 4: {}, 8: {}, 12: {}, 16: {}, 20: {}}
for time_day in date_list:
    print(id(defect_dict))
    defect_days_dict[time_day] = defect_dict
# 正确:每次循环,都重新定义一个字典
for time_day in date_list:
    defect_dict = {0: {}, 4: {}, 8: {}, 12: {}, 16: {}, 20: {}}
    print(id(defect_dict))
    defect_days_dict[time_day] = defect_dict
    
# 结果:发现地址不一样
1349723599784
1349723600144
原文地址:https://www.cnblogs.com/pythonwl/p/14378531.html