我们知道,有两个一维的list,我们想通过python把一个list的值赋给另一个结构相同的list,只需要如下操作即可:
使用切片(slice)来将一个list的值赋给另一个结构相同的list。
list1 = [1, 2, 3, 4, 5]
list2 = [0] * len(list1) # 创建一个长度与list1相同的全0列表
list2[:] = list1[:]
# 或者使用以下语句等效操作:
# list2 = list1[:]
print(list2) # 输出 [1, 2, 3, 4, 5]
但如果是一个二维的list,单单按照 list2[:] = list1[:] 的方式赋值是行不通的:
如果想将一个二维列表的值赋给另一个结构相同的二维列表,可以使用嵌套列表推导式。
list1 = [[1, 2], [3, 4], [5, 6]]
list2 = [[0, 0] for i in range(len(list1))] # 创建一个与list1结构相同的全0二维列表
# 将list1的值复制到list2中
for i in range(len(list1)):
list2[i][:] = list1[i][:]
print(list2) # 输出 [[1, 2], [3, 4], [5, 6]]