多维数组的存取和一维数组类似,由于多维数组有多个轴,所以他的下标需要多个值来表示。这里讨论的主要是二维数组。二维数组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]