python列表中增加字典元素时遇到的问题

2016年7月21日06:56:31 发表评论 44,426

今天晚上再做自己笑话站的时候遇到了一个奇葩的问题

截图如下

python列表中增加字典元素时遇到的问题

将一个字典元素增加到列表中后,更改字典中的值,会导致列表中的字典元素发生改变

这是因为 dict在Python里是object,不属于primitive type(即int、float、string、None、bool)。这意味着你一般操控的是一个指向object(对象)的指针,而非object本身。

解决方案有一下两个: 先将字典转换成字符串然后再将字符串转换为字典

这种方法效率较低 推荐第二种方法

python列表中增加字典元素时遇到的问题

第二种方法:

用字典的copy函数,将字典完整的复制出一个新的object

使用方法为   dict.copy()

python列表中增加字典元素时遇到的问题

 

这个问题困扰了我半天,感谢知乎用户,自由自私的灵魂 给带来的解决方案

十分感谢

版权属于:
小白的运维站

原文地址:
http://www.52yunwei.cn/?p=1425

转载时必须以链接形式注明原始出处及本声明。




该文章由WP-AutoPost插件自动采集发布

原文地址:http://www.52yunwei.cn/?p=1425

weinxin
我的微信
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: