list 的复制
一般来说,有三种方法:
- 直接使用
=
赋值,这种方式的复制相当于给一个盒子贴上两个不同的标签,因此,如果操作任何一个标签,都会对另外一个标签进行数据同步。
- 使用
copy()
方法,这种方式属于浅复制(shallow
copy),对于一般的字面值,如数字,不管是修改源 list 还是复制之后的
list,都不会影响另一个。但是,如果修改的是列表中的对象(Object),那么,这个修改也会反映到另一个
list 中。
- 使用
deepcopy()
方法,这种方式属于深复制(deep
copy),不管是一般的字面值,还是对象,对一个 list
修改都不会影响到另外一个 list。
按:使用 deepcopy()
需要引入 copy
库。
一些代码示例:
output:
output:
这里其实还有一种方法,即利用切片进行复制: