python 浅拷贝、深拷贝坑

今天在写python脚本,发现

I=[[0,0],[0,0]]
a=I.copy()
a[0][0]=1
print(a,I)

结果:

[[1, 0], [0, 0]] [[1, 0], [0, 0]]

因为copy()拷贝得还不够深

解决方法

  1. import copy
import copy
a = copy.deepcopy(I)
  1. 构造函数
    不想在blender的python内导入外部包,所以直接:
def gen_Unit_Matrix(length):
	return [[1 if i==j else 0 for i in range(length)] for j in range(length)]
posted @ 2024-10-23 22:56  Nolca  阅读(1)  评论(0编辑  收藏  举报