matrix = [[0] * 3] * 3
执行 matrix = [1][1]
此时matrix 变成 [[0,2,0], [0,2,0], [0,2,0]]
本意是把矩阵的第一行第一列赋值为 2, 但是最终结果是每一行的第一列都是 2
出现这个结果的原因是:
list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接
修改其中的任何一个元素会改变整个列表,
为了避免这种情况,使用下面的方式:
python中二维数组元素修改
最新推荐文章于 2024-04-21 23:16:14 发布