1 条题解

  • 0
    @ 2026-3-26 19:53:44

    NUMPY004 题解:数组占用内存大小

    题目

    创建整数数组 [1,2,3,4](dtype=int32),打印其 nbytes 和 dtype,格式如:16 int32

    解题思路

    1. 使用 np.array() 创建数组并指定 dtype=np.int32
    2. 使用 .nbytes 属性获取数组占用的字节数
    3. 使用 .dtype 属性获取数据类型
    4. 按指定格式打印

    代码

    import numpy as np
    arr = np.array([1, 2, 3, 4], dtype=np.int32)
    print(f"{arr.nbytes} {arr.dtype}")
    

    代码详解

    1. 创建数组

    arr = np.array([1, 2, 3, 4], dtype=np.int32)
    
    • np.array() —— 创建 NumPy 数组
    • dtype=np.int32 —— 指定数据类型为 32 位整数

    2. 获取内存大小

    arr.nbytes
    
    • 返回数组占用的总字节数
    • 计算公式:nbytes = size × itemsize
    • 4 个 int32 元素 = 4 × 4 = 16 字节

    3. 获取数据类型

    arr.dtype
    
    • 返回数组的数据类型
    • 结果是 int32

    输出

    16 int32
    

    为什么是 16 字节?

    概念 说明
    元素个数 4 个([1,2,3,4])
    int32 大小 4 字节/个
    总大小 4 × 4 = 16 字节

    其他获取内存的方式

    # 方法1:使用 nbytes
    arr.nbytes
    
    # 方法2:使用 size × itemsize
    arr.size * arr.itemsize
    
    # 方法3:使用 Z.nbytes
    arr.nbytes
    

    dtype 常用类型

    dtype 说明 字节数
    int8 8位整数 1
    int16 16位整数 2
    int32 32位整数 4
    int64 64位整数 8
    float32 32位浮点 4
    float64 64位浮点 8

    核心知识点

    1. np.array() —— 创建数组
    2. dtype —— 指定数据类型
    3. .nbytes —— 数组占用的字节数
    4. .dtype —— 数组的数据类型
    5. int32 —— 32位整数类型,4字节
    • 1

    信息

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