1 条题解

  • 0
    @ 2026-3-26 20:09:50

    NUMPY008 题解:反转向量

    题目

    给定一个整数 nn,创建一个 0 到 n1n-1 的向量并反转。

    解题思路

    1. 使用 np.arange(n) 创建 0 到 n-1 的数组
    2. 使用切片 [::-1] 反转数组

    代码

    import numpy as np
    n = int(input())
    Z = np.arange(n)
    Z = Z[::-1]
    print(Z)
    

    代码详解

    1. 创建数组

    Z = np.arange(n)
    
    • np.arange(n) 创建 [0, 1, 2, ..., n-1]
    • 例如 n=10 时,创建 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    2. 反转数组

    Z = Z[::-1]
    
    • [::-1] 是切片语法,步长为 -1
    • 从后往前遍历,实现反转
    • 例如 [0,1,2,3,4] 变成 [4,3,2,1,0]

    运行示例

    输入:

    10
    

    输出:

    [9 8 7 6 5 4 3 2 1 0]
    

    切片的语法

    array[start:stop:step]
    
    切片 含义
    [::-1] 全部反转(步长 -1)
    [5:] 从索引 5 到末尾
    [:5] 从开始到索引 5
    [::2] 每隔一个取一个

    其他反转方法

    # 方法1:切片反转
    Z = Z[::-1]
    
    # 方法2:使用 np.flip
    Z = np.flip(Z)
    
    # 方法3:使用 reversed
    Z = np.array(list(reversed(Z)))
    

    核心知识点

    1. np.arange(n) —— 创建 0 到 n-1 的数组
    2. 切片 [::-1] —— 步长为负数实现反转
    3. NumPy 切片返回视图,不复制数据
    • 1

    信息

    ID
    439
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者