Python 创建多维数组的内存申请与实现方法

苏见山
苏见山
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍在 Python 中创建多维数组的两种主要方式:使用嵌套列表手动申请内存空间,以及利用 numpy 库高效创建。通过三维数组实例,详细解析了从一维扩展到多维的逻辑,并对比了 np.array、np.zeros 及 np.ones 等函数的用法与参数设置,帮助开发者理解底层内存分配与高效数组操作的区别。

基于列表的多维数组内存申请

以三维数组为例进行说明

首先,需要申请一维数组的空间


mat = [None]*d1

其中,d1 表示第一维的长度

接着,将 mat 中的每个元素扩展为第二维的长度


for i in range(len(mat)):

  mat[i][j] = [None]*d2

同理,将 mat 中每个元素进一步扩展为第三维的大小


for i in range(len(mat)):
  for j in range(len(mat[0]):
    mat[i][j] = [None]*d3

需要注意的是,上述过程创建的“数组”实际上是 list 类对象,并非严格意义上的数组结构

使用 numpy 创建多维数组

若使用 numpy array 创建形状为 2*3*4 的数组

原始方法

先创建一个包含 2 个元素(对应第一维)的一维数组,然后将 3*4 的二维数组嵌入到这 2 个元素的位置中


x = np.array([ [3*4数组] , [3*4数组] ])

类似地

x = np.array([ [ [4个元素的一维数组], [4个元素的一维数组], [4个元素的一维数组]] , [ [4个元素的一维数组], [4个元素的一维数组], [4个元素的一维数组]] ])

其他常用的数组创建函数

使用其他辅助函数


np.zeros((2,3,4))    #参数为一个元祖(2,3,4)


np.zeros_like( anotherArray )   #创建与anotherArray 同维度的数组,不复制anotherArray 的元素,以0填充.

类似的函数还有

np.ones, np.ones_like

np.empty, np.empty_like

np.eye(n)

以上关于 Python 申请内存空间以创建多维数组的实例介绍完毕,希望能为读者提供参考,并欢迎大家继续支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表