以上是参考文章
对于一些基本类型,int, long 可以直接copy走,
其他像:对象,list,只能copy走地址
import copy # list 的 copy 方法 matrix = [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3]] print(type(matrix)) dpMatrix = matrix.copy() print(dpMatrix) print(matrix) print("------") for row in range(0, len(matrix)): for column in range(0, len(matrix[row])): dpMatrix[row][column] = -1 pass print(dpMatrix) print("¥") print(matrix) # why the elements of matrix change when the elements of dpmatrix change? # 4 bytes list1 = [0,[1, 1, 3], [1, 1, 3]] list2 = list1.copy() print("-----") print(list1) print(list2) list2[1].append("yxf") print("+++++") print(list1) print(list2) print("append") list2.append("iiii") print(list1) print(list2) print("append2") list1.append("ooo") print(list1) print(list2) print("赋值") # 赋值 a=1 b=a print(a) print(b) b=2 print(a,b) # when b changes, a donnot change a=0 print(a,b) a1={1:[0,1,1]} b1=a1 print(a1,b1) b1[1].append(3) print(a1,b1)