在Python中克隆或复制列表有哪些选项?
在使用时new_list = my_list,每次都会对new_list更改进行任何修改my_list.为什么是这样?
复制列表的最佳方法是什么?我知道以下方法,哪一个更好?或者还有另一种方式吗?
lst = ['one', 2, 3]
lst1 = list(lst)
lst2 = lst[:]
import copy
lst3 = copy.copy(lst)
Run Code Online (Sandbox Code Playgroud) 在Python官方文档说,使用切片运算符和Python中的分配,使切片列表的浅表副本.
但是当我编写代码时,例如:
o = [1, 2, 4, 5]
p = o[:]
Run Code Online (Sandbox Code Playgroud)
当我写:
id(o)
id(p)
Run Code Online (Sandbox Code Playgroud)
我得到不同的id并且还附加一个列表并不反映在另一个列表中.它不是在创建一个深层副本,还是在某个地方我出错了?