python初始化list可以使用arr = [0] * 10
得到[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
二维数组如果参考list初始化方法使用mat = [[]] * 10
虽然可以得到[[], [], [], [], [], [], [], [], [], []]
但是当修改mat
中任意行时,其他行会同时改变
1 | mat[0].append(0) |
可知采用mat = [[]] * 10
初始化的二维数组,每一行指向的是同一个对象
可采用以下方法初始化:
1 | mat = [[] for i in range(10)] |