码迷,mamicode.com
首页 > 编程语言 > 详细

【python】dict的拷贝问题

时间:2015-12-25 11:24:20      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

部分来源:http://blog.sina.com.cn/s/blog_5c6760940100bmg5.html

 

①直接赋值 ---- 结果是不同名的引用

对新字典的修改完全作用在了原来的字典上,只是引用的关系

>>> c = {a:1,b:2}
>>> d = c
>>> d[e]=3
>>> d
{a: 1, b: 2, e: 3}
>>> c
{a: 1, b: 2, e: 3}
>>> f = dict()
>>> f = d
>>> f["k"]=4
>>> f
{a: 1, k: 4, b: 2, e: 3}
>>> c
{a: 1, k: 4, b: 2, e: 3}

②使用copy()函数 --- 浅拷贝。 

如果一个字典中有引用类型,如list,复制只会复制其引用而不会复制其值:

>>> d = {names: [bob, sam]}
>>> y = d.copy()
>>> y[names][0] = jack
>>> y
{names: [jack, sam]}
>>> d
{names: [jack, sam]}

③深拷贝 deepcopy

>>> from copy import deepcopy
>>> d = {names: [bob, sam]}
>>> y = deepcopy(d)
>>> y[names][0] = jack
>>> d
{names: [bob, sam]}
>>> y
{names: [jack, sam]}

 

【python】dict的拷贝问题

标签:

原文地址:http://www.cnblogs.com/dplearning/p/5075250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!