python 申请内存空间,用于创建多维数组的实例

yipeiwu_com6年前Python基础

以三维数组为例

先申请1个一维数组空间:

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 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设计】。

相关文章

利用numpy和pandas处理csv文件中的时间方法

利用numpy和pandas处理csv文件中的时间方法

环境:numpy,pandas,python3 在机器学习和深度学习的过程中,对于处理预测,回归问题,有时候变量是时间,需要进行合适的转换处理后才能进行学习分析,关于时间的变量如下所示,...

简单说明Python中的装饰器的用法

简单说明Python中的装饰器的用法

装饰器对与Python新手以至于熟悉Python的人都是一个难理解, 难写的东西. 那么今天就分享一下我对Python 装饰器的理解 所谓装饰器仅仅是一种语法糖, 可作用的对象可以是函数...

编写Python脚本来实现最简单的FTP下载的教程

访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(PS:此段有问题,别复制使用,可以参考去试验自...

Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法

Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法

关于conda安装matplotlib报错 最近在师姐机器上跑实验的时候,想利用matplotlib包来绘制损失曲线图,安装过程中碰到了一些小麻烦,感觉之前好像也碰到过类似的问题,网上一...

python3+PyQt5使用数据库窗口视图

python3+PyQt5使用数据库窗口视图

能够为数据库数据提供的最简单的用户界面之一就是窗体,窗体可以一次性呈现出来自同一记录的各个域。本文通过python3+pyqt5改写实现了python Qt gui 快速变成15章的例子...