1 条题解

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

    NUMPY009 题解:创建 n×n 矩阵

    题目

    给定一个整数 nn,创建一个 n×nn \times n 的矩阵,值从 00n21n^2-1

    解题思路

    1. 使用 np.arange(n * n) 创建 0 到 n21n^2-1 的数组
    2. 使用 .reshape(n, n) 重塑为 n×nn \times n 矩阵

    代码

    import numpy as np
    n = int(input())
    Z = np.arange(n * n).reshape(n, n)
    print(Z)
    

    代码详解

    1. 创建数组

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

    2. 重塑矩阵

    .reshape(n, n)
    
    • .reshape(n, n) 将一维数组重塑为 n×nn \times n 二维矩阵
    • 总元素个数必须匹配:n×n=n2n \times n = n^2

    运行示例

    输入:

    3
    

    输出:

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

    reshape 的规则

    • 总元素个数必须不变
    • 例如 9 个元素可以 reshape 为:
      • (9,) —— 1×9
      • (3, 3) —— 3×3 ✓
      • (1, 9) —— 1×9

    其他 reshape 用法

    # 重塑为多维数组
    Z.reshape(1, -1)  # 1行,自动计算列数
    Z.reshape(-1, 1)  # 1列,自动计算行数
    Z.reshape(1, -1)[0]  # 展平
    

    核心知识点

    1. np.arange(n) —— 创建 0 到 n-1 的数组
    2. .reshape(m, n) —— 重塑为 m×nm \times n 矩阵
    3. 元素总数必须保持不变
    • 1

    信息

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