python中如何将一维数组变成二维数组,python 建立二维数组
如果要用Python创建一个二维数组,应该怎么写?
A=[0]* 3 * 4 B=[[0]*3] * 4 A还是B?当然是b!我们先来看看输出:
A [0,0,0,0,0,0,0,0] b [[0,0,0],[0,0,0],[0,0,0],[0,0,0]]正如所料,[0]
!BUT!
当一辆粗糙的自行车用上述方式创建一个二维数组时,如果你改变二维数组中的一个数,它会输出什么?让我们试一试。比如我们把第一行的第二个数改成2,B[0][1]=2,输出:
B[[0,2,0],[0,2,0],[0,2,0],[0,2,0]
为什么会这样呢?
因为list在Python中是可变类型,亲爱的!根据B=[[0]*3]*4创建一个二维数组只是对这个空列表元素的四次引用。修改任何元素都会改变整个列表。
另一个栗子:
A=[0]*3 B=A B[0]=1 A[1,0,0]真可惜!
所以,用Python创建二维数组应该这样写:
C=[[0] * 3 for I in range (4)] C [[0,0,0],[0,0,0],[0,0,0],[0,0,0]] C [0] [1]=2C [[0,2,0]
list=[[0]* cols for I in range(rows)]当然,如果你喜欢用一根手指就能让整个矩阵发生巨大变化的快感,那就算了吧~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。