面试题答案
一键面试import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 获取第二行所有元素
second_row = arr[1, :]
# 获取左上角2x2子数组
sub_array = arr[:2, :2]
print("第二行所有元素:", second_row)
print("左上角2x2子数组:", sub_array)
切片操作原理
- 获取第二行所有元素
arr[1, :]
:- 在NumPy中,二维数组可以看作是一个表格,第一个索引代表行,第二个索引代表列。
arr[1, :]
中的1
表示选取第二行(索引从0开始,所以1代表第二行),:
表示选取该行所有列的元素。这样就获取了arr
数组的第二行所有元素。
- 获取左上角2x2子数组
arr[:2, :2]
:arr[:2, :2]
中,第一个:
前没有起始值,表示从第一行(索引0)开始,到第二行(索引1,不包含索引2)结束;第二个:
同理,表示从第一列(索引0)开始,到第二列(索引1,不包含索引2)结束。这样就获取了左上角2x2的子数组。