在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为数组,储存每一维数组的长度

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=[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 学习系列(4) 在Python中建立N维数组并赋初值相关推荐

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

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

  2. 【Python学习系列六】Python语言基本语法

    1. Python语言简介 Python是一种面向对象的解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python是纯粹的自由软件, ...

  3. 【Python学习系列四】Python程序通过hadoop-streaming提交到Hadoop集群执行MapReduce

    场景:将Python程序通过hadoop-streaming提交到Hadoop集群执行. 参考:http://www.michael-noll.com/tutorials/writing-an-had ...

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

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

  5. 【Python学习系列五】Python网络爬虫框架Scrapy环境搭建

    1.网络爬虫库Scrapy 网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便.Scrap ...

  6. 【Python学习系列二】Python默认编码和Eclipse环境的冲突问题

    1.问题:在Eclipse+PyDev开发环境中写个 print 'Hello,python!'; 执行却提示: SyntaxError: Non-ASCII character '\xc4' 2.原 ...

  7. 【Python学习系列十三】Python机器学习库scikit-learn实现逻辑回归

    逻辑回归基础知识可参考:http://blog.csdn.net/fjssharpsword/article/details/54580552 python内部算法已经实现了,最重要是理解y=f(x) ...

  8. 【Python学习系列十一】Python实现决策树实现C4.5(信息增益率)

    C4.5是基于ID3改进的分类决策树算法,特点是C4.用信息增益率来选择属性,而ID3使用的是熵(entropy, 熵是一种不纯度度量准则),且对非离散数据也能处理,能够对不完整数据进行处理. 1.信 ...

  9. 【Python学习系列十】Python机器学习库scikit-learn实现Decision Trees案例

    学习网址:http://scikit-learn.org/stable/modules/tree.html scikit-learn这个官网很好,里面有算法案例也有算法原理说明. 案例代码: # -* ...

最新文章

  1. dom4j读写xml文件
  2. 用AjaxPro实现无刷新翻页效果及数据库分页技术介绍
  3. python用什么软件编程1001python用什么软件编程-怎样才能写出 Pythonic 的代码 #P1001#...
  4. 比尔盖茨跌落第二!世界首富换人了
  5. Netflix视频质量感知评价模型之路
  6. python笔记之if练习
  7. 一次EXPDP数据泵性能问题诊断和调优
  8. Vue全局API总结
  9. Hive之 hive的三种使用方式(CLI、HWI、Thrift)
  10. SQL 常用语句大全
  11. 运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)
  12. android极光推送被杀,关于APP进程被杀死,极光推送收不到消息的解决办法
  13. linux命令查看文件读写,linux系统查看和修改文件读写命令
  14. Time Shift 与 Record 功能的区别
  15. 邯郸云计算中心正式开通运营
  16. sybase客户端SqlDbx中文乱码问题解决
  17. 《算法导论3rd第一章》算法在计算中的作用
  18. VPP二层接口,不是翻墙
  19. QT获取当前目录的上一级目录dir->cdUp()
  20. Redis Java Client选型-Jedis Lettuce Redisson

热门文章

  1. 机器人跳跃问题(字节跳动笔试题)
  2. java pde_使用PDE求解器求解PDE的高初始值u
  3. 基于MATLAB的条码二维码识别系统
  4. Wi-Fi 6 网卡周期性卡顿问题解决方案AX201 160MHz和AX1650x 160MHz
  5. 有道云笔记修改背景图片
  6. C语言不使用pow实现求x的y次幂(次方)
  7. TP5框架Redis的使用
  8. scip 输出日志解析
  9. UE Base64图片格式 的加载显示方式
  10. RabbitMQ(十一):RabbitMQ最大连接数