多維數組的存取和一維數組類似,由於多維數組有多個軸,所以他的下標需要多個值來表示。這里討論的主要是二維數組。二維數組0軸以行為單位,1軸以列為單位,存取數組使用元組作為下標,需要注意的是,python中的元組通常用圓括號括起來,但是其實元組的語法只需要用逗號隔開就可以。因此a[1,2]等價a[(1,2)].如果下標元組只包含整數的切片,那么得到的數組和原始數組共享數據,改變得到的數組就會改變原始數組的數據。
>>> x array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]]) >>> x[1,:] = 0 >>> x array([[ 0, 1, 2, 3, 4, 5], [ 0, 0, 0, 0, 0, 0], [12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]])
數組的下標是元組,所以可以將元組保留下來。例如取出下標為(1,2),(2,4,(3,4)的元素
>>> x array([[10, 1, 2, 3, 4, 5], [ 0, 0, 0, 0, 0, 0], [12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]]) >>> x[(1,2,3),(2,4,4)] array([ 0, 16, 22])
其中x[(1,2,3),(2,4,4)]得到的元素是x[1,2],x[2,4],x[3,4]