文章目录
引言:列表的注意事项
1 list中的浅拷贝与深拷贝
在 Python 中,列表的浅拷贝和深拷贝是两种不同的复制方法,它们在数据的引用和内存管理方面有显著差异。理解这两种拷贝方式对于避免不必要的副作用和确保数据独立性至关重要。
1.1浅拷贝(Shallow Copy)
浅拷贝创建一个新的列表对象,但新的列表中的元素是对原始列表中元素的引用。因此,浅拷贝后的列表本质上是与原列表共享数据的视图。如果原列表中的元素是可变对象,修改其中一个列表中的对象会影响到另一个列表,因为它们指向相同的内存地址。
浅拷贝的方法
-
使用
list()
函数:original_list = [1, 2, [3, 4]] shallow_copy = list(original_list)
-
使用切片
[:]
:以后记住列表切片本质上就是浅拷贝original_list = [1, 2, [3, 4]] shallow_copy = original_list[:]
-
使用
copy
模块的copy()
函数:import copy original_list = [1, 2, [3, 4]] shallow_copy = copy.copy(original_list)
浅拷贝的效果
浅拷贝后的列表 shallow_copy
和原列表 original_list
共享内部的可变对象,如嵌套列表。这意味着对这些共享的可变对象的修改会在两个列表中都反映出来。
import copy
original_list = [1, 2, [3, 4]]
shallow_copy = copy.copy(original_list)
# 修改原列表中的可变对象
original_list[2][0
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » python列表---基本语法(浅拷贝,深拷贝等)
发表评论 取消回复