python编程基础之十五
二维列表
l1 = [[1, 2, 3], [4, 5, 6]]
print(l1[0][0])
列表负值
列表复制为两种:深复制,浅复制
浅复制:只复制容器,容器里的元素不产生副本,只是技术引用增加
深复制:不但复制容器,容器里面的元素也产生副本
对于非容器类型,包括int,float,bool,complex不存在深复制,都是浅复制
l1 = [[1, 2][3, 4][5, 6]]
l2 = l1.copy()
l3 = copy.copy(11)
print(id(l1), id(l1[0]), id(l1[1]), id(l1[2]))
print(id(l2), id(l2[0]), id(l2[1]), id(l2[2]))
print(id(l3), id(l3[0]), id(l3[1]),id(l3[2]))
运行结果:
---------l1------------
43508552 43458440 43508744 43508680
---------l2------------
43508808 43458440 43508744 43508680
---------l3------------
43507848 43458440 43508744 43508680
说明这些都是浅复制
深复制需要用到deepcopy()
l4 = copy.deepcopy(l1)
print(id(l4), id(l4[0]), id(l4[1]), id(l4[2]))
运行结果:
---------l4------------
35696008 43386248 43385608 43385544