我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python如何创建二维数组和初始化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python如何创建二维数组和初始化

一、Python用什么表达二维数组

        严格意义上说,Python中并没有数组的概念,Python中表达一组数据有多种形式,例如list,tuple,set等数据结构都可以表达一组数,并且这组数也没有C和C++中数组的的同质限制,这些数可以是任何一种数据类型。

        以list为例(list又叫列表),要想实现一个所谓的二维数组(有行有列),可以使用嵌套list来实现。例如:要想实现一个如

的一个2行3列的二维数组,可以使用如下嵌套list来表达:

L = [[1, 2, 3], [4, 5, 6]]

 二、如何初始化一个二维数组

        在很多应用场景下,二维数组的数据是从键盘或者其他什么文件中输入的。这时就迫切需要初始化一个二维数组,等待数据的录入。

2.1 利用list自身进行构造(注意,此方法并不能构造完全灵活的二维数组,不建议采用)

        list自身的构造函数形式多种多样。想构建一个二维数组自然并非难事。

        例如,想要构建一个m行n列的二维数组。可以这样初始化。

L = [[] * n] * m

         展示结果如下:

        如果想要给一个初始化的值,可以写成:

L = [[0] * n] * m

则:

但是,由于此方法构造的二维数组是对[]*n引用了m次,更改其中一行的值会导致每行的值都被更改。所以,并不是一个可以完全操控到列粒度的二维数组。应用背景极其狭窄,不推荐使用。

m = 2n = 3L = [[3] * n] * m #构造二维数组print(L)L[0][1] = 5 #修改某一个值,其他行的对应列值也会被修改。print(L)

得到的结果为:

 

 2.2 利用传统的list的append方法,通过迭代构造

m = 2 #2行n = 3 #3列l = 0 #行从0开始mat = [] # 定义一个二维数组matwhile l < m:    r = 0 #列从0开始    line = [] #line存储每一行数据    while r < n:        line.append(0) #装载行数据        r = r + 1    mat.append(line) #按行装载二维数组    l = l + 1print(mat)

得到的结果依然为:

2.3利用numpy包构建二维数组(矩阵)

        可以使用numpy包来构建二维数组,例如要构建一个m行n列的初始化为0二维数组,可以编写程序:

m = 3n = 4mat = np.zeros((m, n))print(mat)

结果为:

        类似的:

构建一个m行n列的初始化为0二维数组

m = 3n = 4mat = np.ones((m, n))print(mat)

 构建一个m行n列的初始化为0-1随机数的二维数组:

m = 3n = 4mat = np.random.random((m, n))print(mat)

 构建一个m行n列的初始化为1-11步长为2的二维数组:

m = 2n = 3mat = np.arange(1, 12, 2).reshape(m, n)print(mat)

结果是:

构建一个m行n列的空的二维数组:

m = 2n = 3mat = np.empty((m, n))print(mat)

 但注意,结果并不为空,而是一些极小的浮点数,并没有实际意义。

三、操作二维数组

        如果你用的是list,那么操作二维数组和其他语言没什么区别。也是通过方括号下标来获取单个数据,也是通过for循环迭代来遍历二维数组。这里不再赘述。

看懂了就点个赞吧。

来源地址:https://blog.csdn.net/oJinGangZuan/article/details/126870747

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python如何创建二维数组和初始化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C语言中一、二维数组如何创建和初始化

这篇文章将为大家详细讲解有关C语言中一、二维数组如何创建和初始化 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(壹) 一维数组的创建和初始化 1.1 数组的创建数组是一组相同类型元素的集合。 数组的
2023-06-29

Python创建二维数组与初始化的实践举例

二维数组使用简便可以有很多简洁的操作,实现多元的要求,下面这篇文章主要给大家介绍了关于Python创建二维数组与初始化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2022-12-10

如何在Java中初始化二维数组

本篇文章给大家分享的是有关如何在Java中初始化二维数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。常用的java框架有哪些1.SpringMVC,Spring Web MV
2023-06-14

PHP中一维数组怎么创建和初始化

这篇文章主要介绍PHP中一维数组怎么创建和初始化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是PHP数组?首先在文章的开始我们先来简单了解一下PHP数组:数组(Array)是一种线性表数据结构,简单来说就是一组
2023-06-20

如何在Golang中创建和初始化数组

如何在Golang中创建和初始化数组在Golang中,数组是一个固定长度的数据结构,用于存储相同类型的元素。数组的长度在创建时就确定了,无法动态改变。本文将介绍如何在Golang中创建和初始化数组,以及一些常用的数组操作方法。创建数组
如何在Golang中创建和初始化数组
2024-03-02

javascript中怎么初始化一维和二维数组

javascript中怎么初始化一维和二维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。var header_1= new Array("Customer", "Suppl
2023-06-03

C#中怎么初始化二维数组

这期内容当中小编将会给大家带来有关C#中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#多维数组:(1)数组的声明:int[] a1; //整数类型的一维数组 int[,] a2;
2023-06-17

C++中怎么初始化二维数组

这期内容当中小编将会给大家带来有关C++中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++的二维数组是不能用变量初始化的,像下面的代码肯定是编译不通过的:int i=5; int
2023-06-17

c语言二维数组怎么初始化

C语言中,二维数组的初始化可以通过以下几种方式进行:使用静态初始化:在定义数组时直接给出初始化的值,例如:int arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};使用循环进行初始化:使用嵌套循环逐个
c语言二维数组怎么初始化
2024-02-29

怎么在Java中初始化二维数组

今天就跟大家聊聊有关怎么在Java中初始化二维数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;
2023-06-14

Perl中二维数组的引用和初始化方法

这篇文章主要讲解了“Perl中二维数组的引用和初始化方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Perl中二维数组的引用和初始化方法”吧!Perl二维数组的引用和初始化Perl二维数组
2023-06-17

java怎么创建数组并初始化

在Java中,可以使用以下方式创建数组并初始化:使用数组初始化列表:int[] numbers = {1, 2, 3, 4, 5};使用new关键字创建数组并初始化:int[] numbers = new int[5]; // 创建一个长度
java怎么创建数组并初始化
2024-03-14

python怎么创建二维数组

在Python中,我们可以使用列表嵌套的方式来创建二维数组。具体步骤如下:首先创建一个空的列表,表示二维数组。使用嵌套的for循环,逐行逐列地向二维数组中添加元素。在每一行的循环中,创建一个空的列表,表示当前行。在每一列的循环中,添加
2023-10-22

PHP中如何创建二维数组

这篇文章给大家分享的是有关PHP中如何创建二维数组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。所谓的二维数组,简单来说就是在一维数组里面再定义多个一维数组,即一个数组中的值可以是另一个数组(可能有点片面,但是二
2023-06-20

java二维数组初始化的方式有哪些

Java中二维数组的初始化方式有以下几种:1. 静态初始化:直接指定数组元素的值。```javaint[][] arr = {{1, 2, 3}, {4, 5, 6}};```2. 动态初始化:先指定数组的行数,再指定每行的列数,然后逐个设
2023-09-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录