我们就开始学习用索引来表示数组的每一个元素。
首先,是数组的轴。
我们之前就提到过,但是书上说,这里与以往不同,在此强调是因为对它正确理解的事关重大。
我们可以知道,arange创建等差数列,而后面的reshape规定了形状。
我们明显的看出a是3轴形状(0轴:2,1轴:3,2轴:4)
创作者可鸡儿聪明了,为了能够让我们好找到元素,为每一个元素建立了索引。
貌似就是数组的下标了里。
根据上边的例子,我们可以知道,c[1][2]与c[1,2]有相同的作用。
我们定义了b,它是从0到100,并且元素个数为5。
我们令b的0轴第二个元素为1000,结果如我们所愿。
但是,c为二维的,如果,我们也这样操作,会发生什么?
我们对比一下,会发现,整个列表都变为1000。
前一个表示将三个元素放入一个列表中,而后一个,在b[[0,3,2]]中,[0,3,2]是被放置的一个列表。
后一个返回的是一个数组,这里我们放置的额是一个列表[0,3,2]。
我们可以看到,后者是将c中的0,2轴另提出来,放入一个数组中。
此时,[0,2]代表了0,2两轴,但是意思并不是一成不变。
此时的意思发生了变化,表示在0轴上提取出来[0,2]两个元素,在从1轴上提取[1,0]元素。
因此,我们能发现以列表为下标获取数组元素的方法:
data[[m,n,b,v],[m,n,b,v],......]
分别表示0轴,1轴,......等的索引列表。
数组的下标除可以是整数列表之外,还可以是数组。