二维列表

data = [[0]*c]*r

这个是错误的,因为r条指向同一个实例,改变其中一个其他的都变了,像copy一样

下面是我在idle上面运行的

>>> data=[[0]*2]*4
>>> data
[[0, 0], [0, 0], [0, 0], [0, 0]]
>>> data[2][0]=100
>>> data
[[100, 0], [100, 0], [100, 0], [100, 0]]
>>> data2=[[0]*2 for j in range(4)]
>>> data2
[[0, 0], [0, 0], [0, 0], [0, 0]]
>>> data2[2][0]=100
>>> data2
[[0, 0], [0, 0], [100, 0], [0, 0]]

不过我很少用列表,用的矩阵多,矩阵的话就x = np.zeros(shape=(2,4),dtype = float)

posted @ 2019-03-11 16:12  洛圣熙  阅读(208)  评论(0编辑  收藏  举报