上QQ阅读APP看书,第一时间看更新
练习35:索引和切片
NumPy数组的索引和切片与常规列表索引非常类似。我们甚至可以以格式(start,step,end)提供一个额外的步长参数,以此步长大小逐步遍历元素向量。此外,我们可以将一个列表作为参数传递来选择特定的元素。
在本练习中,我们将学习关于一维和多维数组的索引和切片知识。
说明
在多维数组中,你可以使用两个数字来表示元素的位置。例如,元素位于第3行和第2列,其索引分别为2和1(因为Python是基于0的索引)。
1.创建一个包含10个元素的数组,通过切片检查其各个元素,并使用不同的语法对数组进行索引。命令如下:
输出如下:
2.使用以下命令输出第7个位置的元素:
输出如下:
3.使用以下命令输出第3个和第6个位置之间的元素:
输出如下:
4.使用以下命令输出直到第4个位置的元素:
输出如下:
5.使用以下命令输出后向索引的元素:
输出如下:
6.使用以下命令输出其后向索引的元素(跳跃的三个值):
输出如下:
7.使用以下命令创建一个名为array_2的新数组:
输出如下:
8.使用以下命令输出数组中第二、第四和第九个元素:
输出如下:
9.使用以下命令创建多维数组:
输出如下:
10.使用双方括号索引访问值,命令如下:
输出如下:
11.使用单方括号索引访问值,命令如下:
输出如下:
12.使用行或列访问多维数组中的值,命令如下:
输出如下:
13.输出指定行和列索引的矩阵,命令如下:
输出如下:
14.输出指定行和列索引的矩阵,命令如下:
输出如下:
条件子集
条件子集是一种基于数值条件来选取特定元素的方式。它几乎就像SQL查询子集元素的简短版本,请参考以下示例:
示例输出如下(需要注意的是,由于数组是随机生成的,所以它每次的输出都不一致):