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

相关文章

详解Django CAS 解决方案

CAS单点登录主要是为了解决主系统和子系统的统一登录问题,能够做到任意一个子系统登录成功后,再登录其他子系统后不再需要认证,让用户不用重复地进行登录认证。CAS单点登录的方案很多,并且大...

Django处理Ajax发送的Get请求代码详解

Django处理Ajax发送的Get请求代码详解

Django处理Ajax发送的Get请求实例,Ajax优点在一是异步请求,无需等待响应就可以再次发起请求,而是局部刷新,避免整个页面刷新的网页闪动。 打开命令行窗口,输入命令,创建dja...

numpy中的meshgrid函数的使用

numpy官方文档meshgrid函数帮助文档https://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.ht...

Pyinstaller 打包exe教程及问题解决

安装 pip insatll Pyinstaller 参数 pyinstaller -Fw main.py 参数 概述...

详解如何用python实现一个简单下载器的服务端和客户端

话不多说,先看代码: 客户端: import socket def main(): #creat: download_client=socket.socket(socket...