2 条题解

  • 0
    @ 2026-3-26 17:43:34

    NUMPY039 题解:创建开区间向量

    题目

    创建一个大小为 10 的向量,值在 0 到 1 之间(不含端点)。

    解题思路

    使用 np.linspace() 并排除端点。

    代码

    import numpy as np
    Z = np.linspace(0, 1, 11, endpoint=False)[1:]
    print(Z)
    

    代码详解

    1. np.linspace(0, 1, 11) —— 在 [0,1] 区间创建 11 个点

      • 包括端点 0 和 1
      • 步长 = (1-0)/(11-1) = 0.1
      • 结果:[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
    2. endpoint=False —— 排除端点

      • 11 个点分布在 0 到 1 之间(不含 1)
      • 结果:[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
    3. [1:] —— 去掉第一个元素 0

    输出

    [0.09090909 0.18181818 0.27272727 0.36363636 0.45454545 0.54545455 0.63636364 0.72727273 0.81818182 0.90909091]
    

    linspace vs arange

    # linspace:指定点数
    np.linspace(0, 1, 5)  # [0., 0.25, 0.5, 0.75, 1.]
    
    # arange:指定步长
    np.arange(0, 1, 0.2)  # [0., 0.2, 0.4, 0.6, 0.8] (不含1)
    

    核心知识点

    1. np.linspace(start, stop, n) —— 创建等差数列
    2. endpoint=False —— 排除结束点
    3. 切片可用于排除不需要的值
    • 0
      @ 2026-3-25 15:38:15

      NumPy039 题解

      参考代码

      import numpy as np
      n = int(input())
      dates = input().split()
      Z = np.array(dates, dtype='datetime64')
      idx = np.argmin(np.abs(Z - np.datetime64('today')))
      print(idx)
      
      • 1

      信息

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