题目
阅读以下代码:import numpy as npdata = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])想要得到array([4, 5, 6]),应输入代码()?A) data[0]B) data[0, 1]C) data[1, 0]D) data[1]
阅读以下代码:
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
想要得到array([4, 5, 6]),应输入代码()?
A) data[0]
B) data[0, 1]
C) data[1, 0]
D) data[1]
题目解答
答案
我们来分析每个选项:
A) data[0]:这会返回第一行的数据,即array([1, 2, 3])。
B) data[0, 1]:这种索引方式会返回第一行第二列的元素,即2。
C) data[1, 0]:这会返回第二行第一列的元素,即4。
D) data[1]:这会返回第二行的数据,即array([4, 5, 6])。
根据以上分析,我们可以看出答案是D) data[1]。这种索引方式能够正确返回我们想要得到的子数组array([4, 5, 6])。
解析
本题考查NumPy数组的索引方式。关键在于理解二维数组中不同索引形式的含义:
- 单索引(如data[1])表示选取对应行的整个一维数组;
- 双索引(如data[0,1])表示选取具体元素(行优先)。
选项分析
A) data[0]
- 单索引取行:返回第一行[1, 2, 3],不符合要求。
B) data[0, 1]
- 双索引取元素:第一行第二列的元素2,不符合要求。
C) data[1, 0]
- 双索引取元素:第二行第一列的元素4,不符合要求。
D) data[1]
- 单索引取行:返回第二行[4, 5, 6],符合题目要求。