如何创建一个二维数组? --------------------------- c语言等创建二维数组非常方便,在python中如何创建二维数组呢? 在Python中没有内置的数组类型,通常可以用列表来替代数组功能。一维我们可以这样来 创建:: a = list(range(4)) 该代码创建了一个列表,列表长度为4,并赋值为0到3. 如何创建二维的列表呢,我们首先可能想到的是列表乘法,例如:: >>> a = [list(range(4))]*3 >>> a [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] 我们输出a, 得到的确实也是一个二维的列表,但如何对二维列表进行赋值,例如:: >>> a[1][1] = 100 >>> a [[0, 100, 2, 3], [0, 100, 2, 3], [0, 100, 2, 3]] 我们发现一次修改已经改动了3个地方,这是因为在乘法复制时,对象没有复制,只复制 了引用,都指向了同一个对象。因此我们不能通过这个方法来创建二维数组。 下面语句创建了一个二维列表,就相当于一个二维数组。 :: >>>a = [ [1]*4 for i in range(3) ] >>>a [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] >>> a[1][1] = 100 >>> a [[1, 1, 1, 1], [1, 100, 1, 1], [1, 1, 1, 1]] 这是一个列表推导式,生成长度为3的列表,它的元素是一个长度为4的列表, 每一个元素内容都为1。它创建了一个 4 x 3 的二维列表。