list初始化
假设要使用一个二维的list,当然目前numpy是最方便的,如果没法使用numpy的话,我们使用二维list代替,但是list需要事先指定长宽!
r, c = 3,4
arr1 = [[0] * c]*r
arr2 = [[0 for _ in range(c)] for _ in range(r)]
这两个数组print一下:
arr1: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
arr2: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
完全一样啊!
但是,修改数值后发现:
arr1[0][3] = 3
arr2[0][3] = 3
arr1是共享内存啊!
arr1: [[0, 0, 0, 3], [0, 0, 0, 3], [0, 0, 0, 3]]
arr2: [[0, 0, 0, 3], [0, 0, 0, 0], [0, 0, 0, 0]]
长记性了!,,一定要手动扩展list!