2 条题解

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

    NUMPY043 题解:创建只读数组

    题目

    如何使数组不可修改(只读)?

    解题思路

    设置数组的 flags.writeable 属性为 False。

    代码

    import numpy as np
    Z = np.zeros(10)
    Z.flags.writeable = False
    Z[0] = 1  # 这会抛出异常
    

    代码详解

    1. np.zeros(10) —— 创建可写数组
    2. Z.flags.writeable = False —— 设为只读
    3. 修改只读数组会抛出 ValueError

    输出

    ValueError: assignment destination is read-only
    

    验证只读

    Z = np.zeros(10)
    print(Z.flags.writeable)  # True
    
    Z.flags.writeable = False
    print(Z.flags.writeable)  # False
    
    # 创建时直接设为只读
    Z = np.zeros(10)
    Z.setflags(write=False)
    

    只读数组的用途

    1. 保护数据不被意外修改
    2. 减少不必要的复制
    3. 函数参数保护

    核心知识点

    1. flags.writeable —— 控制可写性
    2. setflags() —— 设置多个标志
    3. 只读数组不能直接修改
    • 0
      @ 2026-3-25 15:38:31

      NumPy043 题解

      参考代码

      import numpy as np
      Z = np.array(list(map(int, input().split())))
      Z[[0, -1]] = Z[[-1, 0]]
      print(Z)
      
      • 1

      信息

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