在Python中克隆或复制列表有哪些选项?
在使用时new_list = my_list,每次都会对new_list更改进行任何修改my_list.为什么是这样?
这是我正在尝试做的MWE:
lis = []
# Initialize empty list
for i in range(2):
lis.append([[0]]*2)
# First print
print lis
# Second print
print lis[0][1][0]
# Modify item
lis[0][1][0] += 1
# Third print
print lis
Run Code Online (Sandbox Code Playgroud)
第一个 print返回列表[[[0], [0]], [[0], [0]]]是正确的,我有一个第一个列表,它由几个列表组成,每个列表也由几个列表组成(我需要这个嵌套列表,我正在做什么).所述第二 print返回索引0和1中的项目作为0这也是正确的.但第三个 print显示新列表为:
[[[1], [1]], [[0], [0]]]
Run Code Online (Sandbox Code Playgroud)
代替:
[[[0], [1]], [[0], [0]]]
Run Code Online (Sandbox Code Playgroud)
这就是我的目标.我究竟做错了什么?