MST

星途 面试题库

面试题:Python中NumPy库如何进行数组切片操作

在Python的NumPy库中,给定一个二维数组`arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])`,请写出代码实现获取该数组的第二行所有元素,以及获取左上角2x2子数组的操作,并解释切片操作的原理。
41.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
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)

切片操作原理

  1. 获取第二行所有元素 arr[1, :]
    • 在NumPy中,二维数组可以看作是一个表格,第一个索引代表行,第二个索引代表列。
    • arr[1, :] 中的 1 表示选取第二行(索引从0开始,所以1代表第二行),: 表示选取该行所有列的元素。这样就获取了 arr 数组的第二行所有元素。
  2. 获取左上角2x2子数组 arr[:2, :2]
    • arr[:2, :2] 中,第一个 : 前没有起始值,表示从第一行(索引0)开始,到第二行(索引1,不包含索引2)结束;第二个 : 同理,表示从第一列(索引0)开始,到第二列(索引1,不包含索引2)结束。这样就获取了左上角2x2的子数组。