python二维列表List修改其中一个数值,所有项数值都改变的问题。

我们创建如下二维列表:

list1 = [[0,0,0],
        [0,0,0],
        [0,0,0]]

修改其中一个值,如

list1[1][1] = 2

结果正常应该为

list1 = [[0,0,0],
        [0,2,0],
        [0,0,0]]

以上没问题。

                                                                                                                                                      

但有时候修改其中一个值,会造成所有项都改变,上面的结果变成

list1 = [[0,2,0],
        [0,2,0],
        [0,2,0]]

原因是,创建二维数组的方式有问题。可能使用的创建方式是

list1 = [[0] * 3] * 3

可以修改为

list1 = [[0] * 3 for _ in range(3)]

猜你喜欢

转载自blog.csdn.net/nature1949/article/details/119937302
今日推荐