Python程序设计——多维列表

python语言程序设计(梁勇) 第一章 计算机、程序和Python概述 绘制文本字符串:turtle 第二章 基本程序设计 第三章 数学函数、字符串和对象 第四章 选择 第五章 循环 第六章 函数 第七章 对象和类 第八章 更多字符串和方法 第九章 使用 Tkinter 进行 GUI程序设计 第十章 列表 第十一章 多维列表 第十二章 继承和多态 第十三章 文件和异常处理 第十四章 元组、集合和字典 第十五章 递归 ... 阅读详情

一、引言

关键点:一张表或矩阵中的数据可以存储在一个二维列表中。

        二维列表是将其他列表作为它的元素的列表。前一章介绍了如何使用一个列表来存储线性的元素集合。可以使用列表来存储二维数据,例如: 一个矩阵或者一张表等。例如,下表所示的提供了不同城市之间距离的表可以使用一个命名为distances的列表来存储。

二、处理二维列表

关键点:二维列表中的值可以通过行下标和列下标来访问。

        可以将二维列表理解为一个由行组成的列表。而每一行又是一个由值组成的列表。二维列表的每一行可以使用下标访问,为方便称为行下标。每一行中的值可以通过另一个下标访        问,称为列下标。一个命名为matrix的二维列表如图11-1 所示。

矩阵中的每个值都可以用matrix[i][j]来访问,这里的i和j分别是行下标和列下标。

2.1、使用输入值初始化列表

下面的循环使用用户输人值来初始化矩阵。

2.2、使用随机数初始化列表

下面的循环初始化一个存储0到99之间随机数的列表。

2.3、打印列表

为了打印一个二维列表,必须通过使用下面的循环来打印列表中的每一个元素。

2.4、对所有元素求和

        使用一个名为total的变量来存储元素的总和。初始状态下,total 值为0。利用如下循环对列表中的每一个元素相加,值赋给total。

 2.5、按列求和

        对于每一列,使用名为total的变量来存储每一列的总和。使用如下循环将每一列中元素相加,和赋值给total。

 2.6、找出和最大的行

        为了找出和最大的行,可以使用变量maxRow和indexOfMaxRow来跟踪最大的和及对应的行下标。对每一行,计算它的和,如果新的和要大些时,更新maxRow和indexOfMaxRow。

 2.7、随意打乱

        可以使用函数random.shuffle(list)打乱一维列表中的元素。如何打乱二维列表中的所有元素?为了实现这个目的,对每一个元素matrix[row ][column],随机生成下标i和j并且将matrix[row][column]和matrix[i][j]进行互换,如下所示:

 2.8、 排序

        可以应用sort方法对一个二维列表排序。它通过每一行的第一个元素进行排序。对于第一个元素相同的行,则通过它们的第二个元素进行排序。如果行中的第一个和第二个元素都相同,则利用它们的第三个元素进行排序,依此类推。例如:

三、将二维列表传递给函数

关键点:当给函数传递二维列表时,是将这个列表的引用传递给函数。

        可以像传递一维列表一样给函数传递一个二维列表。同样可以从函数中返回一个二维列表。下面代码给出了一个含有两个函数的例子。第一个函数是getMatrix(), 它返回一个二维列表,而第二个函数是accumulate(m),它返回一个矩阵所有元素的总和。

 四、多维列表

关键点:二维列表是包含了一维列表的列表,而三维列表是包含了二维列表的列表。

        一个多维列表是每个元素是其他列表的列表。具体地说,一个三维列表是由二维列表组成的列表,而一个二维列表是由一维列表组成的列表。

五、总结

  • 二维列表能用来存储二维数据,例如:一张表和一个矩阵。.
  • 二维列表也是列表。二维列表中的元素是一个列表。
  • 二维列表中的元素可以使用下面的语法来访问。
listName[rowIndex] [columnIndex]
  • 可以利用一个列表的列表来形成多维列表以存储多维数据。
4、Python程序设计:Python列表List Python程序设计:Python列表List 阅读详情

相关推荐

第16讲:Python多维列表的概念以及应用

当列表中的元素也是一个列表时,就形成了多维列表,多维列表有一维列表、二维列表、三维列表等等,如何判断你的列表是几维列表,主要看列表的元素是不是一个列表,一级一级推理,列表中的元素不是列表称为为一维列表,列表套列表称为二维元素,以此类推。当列表中的元素是一个一维列表,此时就构成了一个二维列表,当列表的元素是二维列表,此时就构成了三维列表,我们也可以把多维列表看做是特殊的一维列表,我们前面创建的列表,列表的元素是字符串数字等等,这就是一维列表。

江晓龙的博客 1万+

python多维列表

python多维列表

weixin_44001521的博客 3234

Python中创建多维列表

在Python中,我们可以使用列表来存储和操作多个值。列表是一种有序的、可变的数据类型,可以容纳任意类型的元素。要创建多维列表,我们可以在列表中嵌套其他列表,从而形成多个维度。根据具体的需求和使用场景,选择适合的方法来创建和操作多维列表。一种创建多维列表的常见方法是使用嵌套循环。如果我们需要处理更复杂的多维数据,可以使用NumPy库。除了使用嵌套循环,我们还可以使用列表推导式来创建多维列表。下面我将介绍几种常见的方法来创建多维列表,并附上相应的源代码示例。安装完成后,我们可以使用NumPy来创建多维列表。

code_welike的博客 1061

Python学习(四):多维列表&元组&字典&序列解包

Python学习(四):多维列表&元组&字典&序列解包

weixin_63719049的博客 1313

Python如何创建多维列表?

在Python中,我们可以使用嵌套列表的形式创建多维列表。嵌套列表是指一个列表中包含其他列表作为其元素。通过嵌套多个列表,我们可以创建任意维度的列表。无论是二维、三维还是更高维度的列表,原理都是一样的,即通过嵌套列表的方式来构建。值得注意的是,嵌套列表中的每个元素都可以是任意类型的对象,包括其他列表。三维列表是由多个二维列表组成的。二维列表是最简单的多维列表形式。它由几个列表组成,每个列表都是另一个列表的元素。如果你有任何其他问题,请随时提问。类似地,我们可以通过继续嵌套列表来创建更高维度的列表。

ByteHackerX的博客 692

API安全攻防实战:从信息搜集到漏洞利用的完整路径

本文详细解析了API安全攻防实战的全过程,从信息搜集到漏洞利用,涵盖了渗透测试的核心技巧和工具使用。通过真实案例展示如何发现和利用API漏洞,如HTTP方法滥用、内容类型转换攻击等,并提供企业级防御策略和测试心得,帮助安全研究人员提升API安全防护能力。

weixin_30394981的博客 434

【Python】列表元素输入

列表的常见输入书上也没有介绍,就自己综合了一下,把见到过的输入都写了下来,有需要的可以看一下 1、定长度输入 ls = [0] * 100 #长度为100 其实无所谓定长度输入,只是表示有100个元素,这个类同于C、C++的数组定长度输入 int arry[100]; 2、各元素输入(重点间隔空格等同行输入) (1)通常的输入(好多行,麻烦) ls = list() ...

Teaphon 3万+

在AutoDL的A100云服务器上,用Docker搞定Sapien+RobotWin环境(附完整conda list)

本文详细介绍了在AutoDL的A100云服务器上使用Docker构建Sapien+RobotWin环境的完整指南。通过配置Vulkan渲染管线、精确复现Conda环境以及解决常见问题,帮助研究人员高效搭建稳定的机器人仿真开发环境,特别适合需要高性能GPU加速的复杂仿真任务。

weixin_30689307的博客 431

python期末复习

Python期末复习 第二章 基本程序设计 eval('3') # 3 eval('3') + eval('4') # 7 eval('abc') #报错,abc没有定义 x , y = y ,x #x,y互换 eval('34') == eval('3' + '4') integer = eval(input('Enter an integer:')) q = integer // 1000 b = integer //

weixin_45789215的博客 976

VMware VSAN 高级参数介绍(测试用)

VSAN 的策略驱动让我们看到了VSAN无穷的潜力,其设计思路相当新颖,在一个基础资源池上使用策略就能实现不同对象的区分服务,而目前没有其他厂家能到VMware这样的高度。 VSAN 呈现给用户配置很简单,但实际上设计及后台比较复杂。笔者无意间发现了VSAN的隐藏高级参数设置,有很多好玩的选项想分享出来。这些参数全部是针对每主机进行设置的。VSAN 中有很多默认设置,这些设置应该都是研发人员多次测试得出的最优值,修改可能导致环境异常,并不建议修改! 目录 参数1:全闪配置下 SSD 写缓存最大.

山水牧羊 2031

RV1106的ISP配置实战:MIPI与LVDS接口的硬件连接与设备树优化

本文详细解析了RV1106芯片的ISP配置实战,重点对比了MIPI CSI-2与LVDS两种主流接口的硬件连接方案与数据流差异。通过手把手的设备树代码示例,深入讲解了单路MIPI与双路LVDS摄像头的配置要点、关键属性设置及常见避坑指南,并提供了从驱动加载检查到Media Controller工具使用的系统化调试方法,帮助开发者快速打通图像采集与处理全链路。

terraform7cloud的博客 471

python——列表排序总结

列表排序 1. 两种方法 对当前列表排序(默认小到大),改变当前列表,无返回 list1.sort() 对当前列表排序,不改变当前列表,返回有序列表 sort_list = sorted(list1) 2. 顺序&倒序 顺序(小→大)参数reverse = False 倒序(大→小)参数reverse = True 顺序 list1 = [1,3,2] list2.sort(r...

weixin_38208912的博客 267

【日常小结】项目Modbus RTU 协议

Modbus RTU(远程终端) 协议 一、前言 最近因为码跺宽度测量项目推广升级,更换了摄像头(换成了基恩士摄像头)和光栅(换成了施莱格05LCM系列光栅),导致原来的程序用不了了,然而这个软件升级的任务落到了我身上,作为机械非科班出身的我要学习TCP和Modbus RTU通信协议,也算是自我突破了。本文只对Modbus/RTU/HEX 进行简单的小结。 二、Modbus Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻

weixin_39681471的博客 831

python 二维数组赋值问题

[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用, 修改任何一个元素都会改变整个列表 所以需要用另外一种方式进行创建多维数组,以免浅拷贝 >>> lists =[[] fori inrange(3)] 转载于:https://www.cnblogs.com/qy-blogs/p/9676670.html...

weixin_33751566的博客 1435

使用LSTM实现自动调制识别(RML2018.01a)

目录一、LSTM的代码实现1.1 导入包1.2 数据读取及数据集划分1.3 数据预处理1.4 构建LSTM模型 本文基于RML2018.01a大型数据集,给出LSTM的信号识别的实现方式(附代码) RML2018.01a数据集信息如下: 模型 传送门 CNN/ResNet 使用CNN/ResNet实现自动调制识别(RML2018.01a) LSTM 使用LSTM实现自动调制识别(RML2018.01a)) 一、LSTM的代码实现 1.1 导入包 import numpy as np

QAQIknow的博客 6123

【离线OCR】微信离线实现图片OCR文本和表格识别

基于微信本地OCR引擎(由最新版微信自动安装)。通过Python对其官方调用逻辑进行完整翻译和封装,使开发者可以用简单的API调用其强大的OCR功能。

专注于医院数据分析技术与系统开发的创作与分享。 2624

二维列表的按行按列读取

a = [ [1,2,3], [4,5,6], [7,8,9] ] # 列表按照行来访问 print('----------列表按照行来访问-----------------') for v in a: print(v) # 列表按照列来访问 print('----------列表按照列来访问-----------------') for i in range(3): T = [t...

renxanshou的博客 1532

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python的二维数组操作

需要在程序中使用二维数组,网上找到一种这样的用法: 1 2 3 4 5 6 #创建一个宽度为3,高度为4的数组 #[[0,0,0], # [0,0,0], # [0,0,0], # [0,0,0]] myList = [[0] * 3] * 4

Tony_Wong的专栏 1023

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python列表的切片操作与元素访问详解

得到Python的各种序列后,接下里就要知晓如何访问或取出序列中的数据。 看似很简单,其实门道很多,而且随着所学的序列越来越多后,比如字符串、列表、元组、字典、一维数组、多维数组、Series、DataFrame,渐渐的脑子就会混乱,所以打算梳理一下。方便之后自己查找。 其他序列可以参看鄙人的其他博文。 目录 1. 列表的切片操作 1.1 切片的概念 1.2 切片用法示例  1.3 ...

THEAQING 5万+

第十一章:多维列表

学习目标 描述为什么列表在程序设计中很有用 学习如何创建列表 探究列表的常用操作 对列表使用len,min,max,sum和random.shuffle 函数 使用下标变量访问列表元素 使用截断运算符[start,end] 在列表中使用 +(联结) *(重复)和in、not in 操作 使用for循环遍历一个列表中的元素 使用比较运算符来比较两个列表中的内容 调用跌表的append,count,extend,index,insert,pop,remove,reverse和sort 使用str的split方

caiMAMBA001的博客 676

python创建三维数组_Python动态生成多维数组的方法示例

本文实例讲述了Python动态生成多维数组的方法。分享给大家供大家参考,具体如下:多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。所以动态生成多维数组的思想就是在list中动态嵌套添加list。下面代码生成一个一个3×3×2的三维数组:# coding:utf-8# 使用Python3中的print函数from __future__ import print_...

weixin_39940425的博客 3381

Python语言程序设计之三--列表List常见操作和错误总结

最近在学习列表,在这里卡住了很久,主要是课后习题太多,而且难度也不小。像我看的这本《Python语言程序设计》--梁勇著,列表和多维列表两章课后习题就有93道之多。我的天!但是题目出的非常棒,许多题目都具有相似性。这倒不是说这些题目类似,而是它们都会用到某一个特定的函数,或者会用到某一个特定的算法。这里我要整理一下常见的列表操作和容易犯错的地方。 一、列表的输入 即从控制台读取输入,然后创建列...

weixin_33727510的博客 438

python中根据下标访问列表元素_其实Python不难学(5): Python列表型变量的使用...

列表list是Python非常强大的数据集合表示工具。列表相当于其它程序设计语言中的可变长度数组,但是与其它编辑语言不同的是,Python的列表是可以存放不同类型的数值,比如将数字和文本等混合存放在一个列表中,这是没有问题的,而在其它程序设计语言中,会是个大问题。下面我们就来看一下列表的定义与使用方法。1 列表的定义以上语句就定义了一个数字列表,有5个数字组成,彼此之间用英文的逗号分隔,用一对方括...

weixin_33602725的博客 4375

python数据类型小测试

# 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... ) a = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]] b = [8, 7, 9, 7, 9] def relation(a,b): relation = {}...

Carlous_Chen的博客 315

MOOC《Python语言程序设计》第7周测试题

第7周文件和数据格式化的作业和参考答案

jingwushikong的博客 8235
上一篇: Python程序设计——列表
下一篇: Python程序设计——文件和异常处理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值