python 赋值生成引用,而不是拷贝
2017-08-09 11:09
239 查看
python 赋值生成引用,而不是拷贝
先看个例子:>>> L = [1, 2, 3] >>> M = ['X', L, 'Y'] >>> M ['X', [1, 2, 3], 'Y'] >>> L[1] = 0 >>> M ['X', [1, 0, 3], 'Y']
通常共享引用往往就是你真正想要的,不过如果你并不想这样,可以明确地进行拷贝从面避免对象共享。
>>> L = [1, 2, 3] >>> M = ['X', L[:], 'Y'] >>> M ['X', [1, 2, 3], 'Y'] >>> L[1] = 0 >>> L [1, 0, 3] >>> M ['X', [1, 2, 3], 'Y']
相关文章推荐
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- python 深入理解 赋值、引用、拷贝、作用域
- python 赋值的时候是引用,如果需要复制则需要注意深拷贝和浅拷贝的区别
- 深入理解 python 中的赋值、引用、拷贝、作用域
- python 深入理解 赋值、引用、拷贝、作用域
- python 深入理解 赋值、引用、拷贝、作用域
- python 中的赋值、引用、拷贝、作用域
- 【python】理解python里的赋值、引用、拷贝及作用域、内存管理、垃圾回收
- python赋值和拷贝----一切皆对象,参数皆引用
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- python赋值和拷贝----一切皆对象,参数皆引用
- Python中变量赋值传递时的引用和拷贝
- 深入理解 python 中的赋值、引用、拷贝、作用域
- Python引用传递、赋值规则以及深拷贝和浅拷贝
- python基础:深入理解 python 中的赋值、引用、拷贝、作用域
- 深入理解 python 中的赋值、引用、拷贝、作用域
- python笔记6 - 序列,列表(生成,常用方法,运算,切片赋值),深拷贝和浅拷贝,列表推导式
- python赋值和拷贝----一切皆对象,参数皆引用
- 深入理解 python 中的赋值、引用、拷贝、作用域