Python 对数组等对象拷贝默认采用的方法是引用传递,即地址传递,而不是值传递,因而修改拷贝的值的时候原对象也会随之改变。
在给数组进行赋值时,尽量不使用b = a的操作,因为该操作会使得b指向a指向的内存区域,对b数组的更改将影响a数组的值。
此时可以import copy模组,然后进行deepcopy,可以复制原变量的所有数据,在内存中生成一个新的对象。
import copy
a = [0,1,2,3]
b = copy.deepcopy(a)
本文介绍了Python中数组拷贝的默认行为(引用传递),导致修改拷贝会影响原数组。建议避免直接用`b=a`,而是导入copy模块并使用`deepcopy`创建独立副本,以防止意外修改。
Python 对数组等对象拷贝默认采用的方法是引用传递,即地址传递,而不是值传递,因而修改拷贝的值的时候原对象也会随之改变。
在给数组进行赋值时,尽量不使用b = a的操作,因为该操作会使得b指向a指向的内存区域,对b数组的更改将影响a数组的值。
此时可以import copy模组,然后进行deepcopy,可以复制原变量的所有数据,在内存中生成一个新的对象。
import copy
a = [0,1,2,3]
b = copy.deepcopy(a)
您可能感兴趣的与本文相关的镜像
Python3.10
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
695

被折叠的 条评论
为什么被折叠?