在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法。

可以用列表解析的方式,eg:

>>> mat=[[0 for i in range(5)] for j in range(5)]
>>> mat
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

这样就建立了一个二维5X5的数组并把初值设置为0.

下面给一个建立MXN的二维数组,并把初值设为x的函数:

def Get_MXN_Array_initx(m,n,x):return [[x for i in range(m)] for j in range(n)]

如果要建立三维数组可以用类似的方式,以下是一个函数,建立多维的,每一维长度都可以指定,所有元素初始值为x的数组。

参数:m为整数,表示数组的维度;n为数组,储存每一维数组的长度

感谢dearchi指出下列代码中的错误,已改正。

原理:在使用低维数组生成高维数组的过程中,确实应当使用deepcopy复制低维数组,不然会导致高维数组中的每个元素实际上都是同一个低维数组,当有一个低维数组被修改,高维数组中的其他低维数组也跟着被修改了,即“牵一发而动全身”。详见dearchi的评论。

import copy
def Get_Mdimensions_NlengthArray_initValuex(m,n,x):if m!=len(n):print("Error!指定每一维数组的长度时出错")else:result=[x for i in range(n[-1])]dimensions_num=1while dimensions_num<m:result=[copy.deepcopy(result) for i in range(n[-1-dimensions_num])]dimensions_num+=1return result

eg:我们创建一个2维,3X2,初始值为0的数组,各维度的长度以数组的形式传入参数n:

>>> Arr=Get_Mdimensions_NlengthArray_initValuex2(2,[3,2],0)
>>> Arr
[[0, 0], [0, 0], [0, 0]]

当传入维度数组的长度与数组维度不匹配时:

>>> Arr=Get_Mdimensions_NlengthArray_initValuex2(2,[3,2,3],0)
Error!指定每一维数组的长度时出错

在Python中建立N维数组并赋初值相关推荐

  1. python创建长度为n的数组_在Python中建立N维数组并赋初值

    在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法. 可以用列表解析的方式,eg: >>> m ...

  2. Python 学习系列(4) 在Python中建立N维数组并赋初值

    在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法. 可以用列表解析的方式,eg: >>> m ...

  3. python中的二维数组_Python中的二维数组实例(list与numpy.array)

    关于python中的二维数组,主要有list和numpy.array两种. 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的. 我们主要 ...

  4. python中的二维数组与一维数组,矩阵和一维数组之间的运算

    一.python中的二维数组和一维数组之间的运算 1.当二维数组为p×p维 a=np.array([[1,2],[3,4]]) print(a.shape) a 输出: (2, 2) array([[ ...

  5. 如何在Python中定义二维数组

    我想定义一个没有初始化长度的二维数组,如下所示: Matrix = [][] 但这不起作用... 我已经尝试过下面的代码,但是它也是错误的: Matrix = [5][5] 错误: Traceback ...

  6. 技术图文:如何在Python中定义二维数组?

    背景 前几天,有位同学问我如下的问题: "temp[0][0]修改后,为什么temp[1][0].temp[2][0]也发生了变化?" "在Python中二维数组是怎样定 ...

  7. python中遍历二维数组_python遍历二维数组-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 二 维 数组 5.2.1 二 ...

  8. python遍历二维数组_在Python中遍历二维数组?

    你需要告诉我们一些事情:dataset = datas.values 它可能是一个二维数组,因为它来自一个csv负载.但是什么形状和数据类型?甚至可能是阵列的一个样本. 这是函数中的data参数吗? ...

  9. python定义二维数组_在python中定义二维数组

    原博文 2016-08-30 19:16 − 发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段 ...

  10. c语言中 在对全部数组元素赋初值时,在对数组全部元素赋初值时,不可以省略行数,但能省略列数...

    对于预收货款业务不多的企业,对值可以不单独设置"预收账款"账户,其发生的预收货款通过"应收账款"账户核算.?? C语言的if语句嵌套时,数组数但数if与else ...

最新文章

  1. 简述Web程序开发流程
  2. ASP.NET 2.0用户管理数据库的注册
  3. Oracle删除表主键语句
  4. 本地计算机上的 postgresql 服务启动后停止解决方法
  5. 简单易用的baidutemplate模板的使用
  6. Cannot add foreign key constraint 错误
  7. PyTorch 1.0 中文官方教程:在 C++ 中加载 PYTORCH 模型
  8. php监测tomcat,java_JAVA实现监测tomcat是否宕机及控制重启的方法,本文实例讲述了JAVA实现监测tom - phpStudy...
  9. 如何用数据驱动的广告效果
  10. CDR绘制抖音APP图标
  11. 物联卡、物联网卡、物联网语音卡你能分清吗?
  12. 成功将qt程序移植到arm板上
  13. 六年软件测试感悟 从博彦到VMware
  14. 平时你都用什么软件做笔记?
  15. c语言智能小车项目的感想,基于51单片机的遥控智能小车实作心得
  16. 安装docker 配置 oracle11g
  17. ips细胞最新发现:科学家开发出了一套评估干细胞的全能性的新标准
  18. Altium Designer(AD)安装教程
  19. 行空板-一款DFRobot自主研发的Python教学神器
  20. 敏捷测试自动化课程初定6月25、26日

热门文章

  1. 5000元组装电脑配置清单2021 5000元台式电脑组装配置单
  2. 2012服务器优化工具,Windows server 2012服务器安全加固与web环境配置优化
  3. AM中使用PML语言标注船体结构
  4. 二、MySQL 介绍及 MySQL 安装与配置
  5. 微生物组-扩增子16S分析第10期(报名直播课免费参加线下2020.12)
  6. python把英语句子成分字母_如何标注英语句子成分?
  7. 软件测试 | 期末复习——软件质量概述
  8. React Toolkit使用
  9. 高等数学---第一章导数定义的考法
  10. PyTorch系列 | correct += (predicted == labels).sum().item()的理解