python list拷贝问题
2017-06-24 11:46
281 查看
问题:
首先看下面例子:count_a = [2,3,5,6] count_b = count_a count_b.append('a') # 打印 count_a print count_a
代码中,列表a赋值给列表b, 接着对列表b末尾附件一个元素,最后打印列表a
output:
[2, 3, 5, 6, ‘a’]
对列表b的操作,在列表a上也生效了。
原因:
列表b和列表a指向同一块内存,对其中任何一个修改,两个都会生效。那有没有办法实现,对列表b的操作不影响列表a呢?
请看下面的深拷贝。
深拷贝
import copy count_a = [2,3,5,6] count_b = copy.deepcopy(count_a) count_b.append('a') print count_a
列表b通过深拷贝,获得一块新的内存地址,后续对列表b的操作就不会影响到列表a。
output:
[2, 3, 5, 6]
相关文章推荐
- Python中list的拷贝问题
- python list中的‘=’、深拷贝和浅拷贝问题
- C#中List<T>对象的深度拷贝问题
- python list 的复制拷贝的简单介绍
- python 深拷贝与浅拷贝以及list.append( self )
- 深入探究Python中变量的拷贝和作用域问题
- Python中字典的浅拷贝和深拷贝问题
- python 深拷贝与浅拷贝以及list.append( self )
- [Python]对List进行复制时需要注意的问题
- Python中List的去重问题
- python学习中,list/tuple/dict格式化遇到的问题
- 用Python中的list分片方法解决约瑟夫环问题
- python list 浅谈深拷贝,浅拷贝
- python文件在不同系统拷贝后的IndentationError(unexpected indent)问题
- Python class 初始化参数为 list 等 可变类型时遇到的问题
- python List的问题
- 关于python浅拷贝和深拷贝的问题
- C#中List<T>对象的深度拷贝问题
- python list循环remove操作的神奇问题 推荐
- 解析Python中的变量、引用、拷贝和作用域的问题