之前在依次使用多维数组时,使用了*创建多维数组,[[]*m]*n,结果发现修改一个元素,剩余的元素也会相应地修改,经查询得知,这种方式创建的元素是浅复制,即它们引用的是同一个地址。解决办法如下:
1.直接创建
list_a = [[0, 0, 0],[0, 0, 0],[0, 0, 0]]
2.使用列表推导式
list_b = [[0 for i in range(m)] for j in range(n)]
3.使用numpy
之前在依次使用多维数组时,使用了*创建多维数组,[[]*m]*n,结果发现修改一个元素,剩余的元素也会相应地修改,经查询得知,这种方式创建的元素是浅复制,即它们引用的是同一个地址。解决办法如下:
1.直接创建
list_a = [[0, 0, 0],[0, 0, 0],[0, 0, 0]]
2.使用列表推导式
list_b = [[0 for i in range(m)] for j in range(n)]
3.使用numpy