Python 创建一维数组、二维数组和N维数组

我们已经很熟悉在C++上创建一维二维数组了,那么如何在Python上创建二维数组呢

>>> A = [0]*3
>>> B = [[0]*2]*3

这样就可以得到我们的一维数组和二维数组了,我们可以看一下结果

>>> A
[0, 0, 0]
>>> B
[[0, 0], [0, 0], [0, 0]]

似乎好像这样的方法,就能很好的创建一个二维数组,但是,如果简单认为就这样就大错特错了,python有个东西就是共享地址,所以我们这里其实是一个深拷贝,我们同时也把我们地址复制了,所以我们改变其中的数,也会改变,我们可以看一个例子。

>>> B[0][0] = 2
>>> B
[[2, 0], [2, 0], [2, 0]]

真的是坑爹啊,我被这个可是弄惨了,如果你觉得将其作为另一个变量,实际上我们的id也就是地址也是没有改变的,没什么区别的,任意修改一个元素就会修改整个列表的,并且python中的列表是一个可变类型,所以就会有这样的结果。

那么正确的做法应该是什么,我查了查资料,这样创建我们Python的列表

>>> C = [[0]*3 for i in range(4)]
>>> C
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> C[0][1] = 2
>>> C
[[0, 2, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

这样就不会造成随意改一改变量,我们的整个列表都被改变了,最后总结一下如何动态创建数组

aList = [[0] * cols for i in range(rows)]

每日一句

The shortest way to do many things is to only one thing at a time.

做许多事情的捷径就是一次只做一件事。

Python 创建一维数组、二维数组和N维数组相关推荐

  1. 用Python创建动态彩色二维码

      平常我们看到的二维码都是黑白两种颜色,且形状不太好看.本文会教大家把你的文件链接变成漂亮的二维码,微信扫一扫二维码就可以进入你的文件,以下是Python中的处理步骤. 1. 下载库   在Anac ...

  2. python 创建一个空向量,python 创建一个空向量_python 创建一维的0向量实例

    python 创建一维的0向量实例 第一种方法: A=[0]*8 第二种方法: import numpy as np A=np.zeros(8) 以上这篇python 创建一维的0向量实例就是小编分享 ...

  3. python 创建一个空向量_python 创建一维的0向量实例

    python 创建一维的0向量实例 第一种方法: A=[0]*8 第二种方法: import numpy as np A=np.zeros(8) 以上这篇python 创建一维的0向量实例就是小编分享 ...

  4. Python创建列表

    Python创建列表 前言 具体创建 批量创建 一维列表 二维列表 补充 前言 Python中一般由列表代替数组,列表也有一维列表和二维列表之分,本文介绍如何创建列表,创建方法分为具体创建和批量创建, ...

  5. python创建二维空列表_python定义二维空数组

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 稀疏矩阵的格式存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素 ...

  6. python创建二维数组的方法_Python创建二维数组的正确姿势

    本文原创发布于微信公众号「极客猴」,欢迎关注第一时间获取更多原创分享 List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此 ...

  7. python创建矩阵_Python创建二维数组的正确姿势

    List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此,我们可以使用 list[1] 来获取下标对应的值.如果我们深入下列表 ...

  8. python创建一个n*m的二维数组_Python中创建二维数组

    Python中创建二维数组 二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩 ...

  9. Java——动态创建一维数组和二维数组

    一.数组的定义: 整数型一维数组:int[] a;或 int a[];        a = new int[m];(m为数组元素个数) 整数型二维数组:int[][] a;或 int a[][];或 ...

  10. python生成一维数组,二维数组

    1. 列表 a1=[[0] * 5] print(a1) print(type(a1)) #输出: [[0, 0, 0, 0, 0]] <class 'list'> type是内置函数,不 ...

最新文章

  1. ELMo:基于上下文的语言模型,5分钟构建语义搜索引擎代码实战
  2. 【前端】:jQuery上
  3. 如何改变数据库存储引擎
  4. ubuntu在 hdfs上创建一个文件夹_NAS上如何创建和使用加密文件夹?
  5. No module named ‘pyqt5‘解决办法
  6. Android中CheckBox与CompoundButton源码解析
  7. 混合线性模型(linear mixed models)
  8. html播放m3u8格式转换,使用HTML视频标签播放m3u8文件
  9. 英文网站建设应该如何做?如何建好一个英文网站?
  10. Publish报文及其响应分析
  11. 阿拉丁2021年度小程序白皮书发布,凡泰极客 FinClip 技术再度入选(内附完整白皮书下载)
  12. 不懂这些法律问题,你的创业融资很危险
  13. matlab出图时汉字都变成方框,linux下Matlab 2020中文字体方框问题解决方法
  14. WebGL简易教程(十一):纹理
  15. Unity5.1 新的网络引擎UNET(十五) Networking 引用--中
  16. 艾玛迪斯咨询讨论Android应用程序开发的QA测试和碎片
  17. 将B站上下载的两个m4s文件合成为mp4文件
  18. 来自C++之父主页的《C++的应用》
  19. C++坑人游戏[1.0版本](完)
  20. OBS 基础19 窗口置顶

热门文章

  1. 机器学习项目实战(七) 机器学习预测股价
  2. rem移动端设计方案
  3. 什么是互联网营销?看一篇这就够了
  4. java实现变声器--变声萝莉
  5. java 二进制报文头_使用Netty收发二进制报文问题记
  6. Hibernate逍遥游记-第13章 映射实体关联关系-001用外键映射一对一(many-to-one unique=true、one-to-one)...
  7. android切换高德导航,Android调起高德地图
  8. Android利用WifiDirect实现文件传输功能
  9. 相机投影变换(位姿)
  10. 2009中文菜谱网站排行之十大兵器