夏青虫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. copy 浅拷贝,只拷贝父对象,不会拷贝对象内部的子对象,而是对子对象引用。

import copy
a = [1, [2, 3]]
b = copy.copy(a)
a[0] = 2
a[1][0] = 1

print 'a= ', a
print 'b= ', b

输出:

a= [2, [1, 3]]

b= [1, [1, 3]]

它等价于:

import copy
a = [1, [2, 3]]
b = a[:] #对于子对象只引用了
a[0] = 2
a[1][0] = 1

print 'a= ', a
print 'b= ', b

 

2. deepcopy  深拷贝 拷贝对象及其子对象

import copy
a = [1, [2, 3]]
b = copy.deepcopy(a)
a[0] = 2
a[1][0] = 1

print 'a= ', a
print 'b= ', b

输出:

a= [2, [1, 3]]

b= [2, [1, 3]]

posted on 2013-03-05 10:05  夏青虫  阅读(148)  评论(0编辑  收藏  举报