|
发表于 2015-3-18 20:55:27
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 戴宇轩 于 2015-3-21 11:24 编辑
这个模块有两个函数, copy和deepcopy:
1. copy.copy (浅拷贝)只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy (深拷贝) 拷贝对象及其子对象。也就是说, 如果列表里还有列表, deepcopy也会将其拷贝, 但是copy做不到这一点
看了上面的解释, 大家可能看得云里雾里, 这里有一个很好的例子:- import copy
- a = [1, 2, 3, 4, ['a', 'b']] #原始列表
- print('原始列表 =', a)
- b = a # 把a赋值给b
- c = copy.copy(a) # 浅拷贝a, 等效于a[:]
- d = copy.deepcopy(a) # 深拷贝a
- a.append(5) # 修改对象a
- a[4].append('c') # 修改对象a中的列表['a', 'b']
- print('修改后的原始列表 =', a)
- print('赋值 =', b)
- print('浅拷贝 =', c)
- print('深拷贝 =', d)
复制代码- 原始列表 = [1, 2, 3, 4, ['a', 'b']]
- 修改后的原始列表 = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
- 赋值 = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
- 浅拷贝 = [1, 2, 3, 4, ['a', 'b', 'c']]
- 深拷贝 = [1, 2, 3, 4, ['a', 'b']
复制代码
PS: 这两个函数的具体用处其实我也不太清楚, 平时多做积累, 需要用的时候肯定会派上用场的^_^
来自:鱼C论坛 iPhone客户端
来自: iPhone客户端 |
|