Python 从入门到实战6(二维列表)

news2024/11/15 10:09:15

        我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

      之前的文章我们通过举例学习了python 中列表的相关操作,但是操作的列表都是普通列表,也可以说是一维的。今天详细讲述二维列表相关的操作,也是经常使用到的。

1、二维列表简介

在python中列表中的元素也可以是列表,因此也支持二维列表。

二维列表类似学生们军训排队的队列:

00

01

02

03

04

10

11

12

13

14

20

21

22

23

24

30

31

32

33

34

如上面的列表4行5列,

可以写成列表[[00,01,02,03,04],[10,11,12,13,14],[20,21,22,23,24],[30,31,32,33,34]]

从外部来看,外面第一层列表中的元素个数就是行数,里面嵌套的一层列表的个数为列数。

类似其他语言二维数组,如arr[4,5]  代表行数为4,列数为5

2、直接定义二维列表

创建二维列表的第一种方式,直接定义二维列表。参考如下:

创建二维列表时,使用的语法:

Listname =[

                          [元素11,元素12,元素13,…,元素1n],

[元素21,元素22,元素23,…,元素2n],

….

[元素n1,元素n2,元素n3,…,元素nn]

]

参数说明:

Listname:表示生成的列表名称

[元素11,元素12,元素13,…,元素1n]:表示二维列表的第一行的元素

[元素21,元素22,元素23,…,元素2n]:表示二维列表的第二行的元素

……

[元素n1,元素n2,元素n3,…,元素nn]:表示二维列表的第n行的元素

例如我们来定义员工的信息如:staff_info = [ ['ID001','张三','男',25,'A'],
                   ['ID002','李四','男',35,'B'],
                   ['ID003','王五','女',45,'C'],
                   ['ID004','刘柳','女',55,'C']
                ]

print(staff_info)

执行输出结果如下:

3、使用嵌套的for循环生成二维列表

举个小栗子:

#使用for循环创建二维列表
lists_num =[]
for i in range(4):         #对应二维列表的行数
    lists_num.append([])   #在空列表中添加一个空列表
    for j in range(5):
        lists_num[i].append(j)   #在内层的列表中添加元素,j分别取range(5)的数字
print(lists_num)

4、使用列表推导式创建二维列表

列表推导式创建二维列表的方法:

Listname = [[j for j in range(4)] for i in range(3)]   创建列为4列,行为3行的二维列表

#使用列表推导式创建二维列表
list_get = [[j for j in range(4)] for i in range(3)] #3行4列的列表
print(list_get)

若是要访问其中的元素:arr[下标1][下标2]

下标1指的是行

下标2指的是列

举个小栗子:使用二维列表输出一首诗

#应用二维列表的方法来输出这首诗,思路先将字符串放到列表中
str1 = '白日依山尽'
str2 = '黄河入海流'
str3 = '欲穷千里目'
str4 = '更上一层楼'
poem_list = [list(str1),list(str2),list(str3),list(str4)]
print("  "+"登鹳雀楼") #展示诗题
for i in range(4):     #列表为4行
    for j in range(5):  #每行5个字,为5列
        print(poem_list[i][j])    #打印出文字

这样我们执行的结果如下:每个字展示为一行了,因为print默认是换行的。

这里我们是每隔5个元素换一次行,就需要做一个判断。

修改如下,下面黄色部分的判断:

#应用二维列表的方法来输出这首诗,思路先将字符串放到列表中
str1 = '白日依山尽'
str2 = '黄河入海流'
str3 = '欲穷千里目'
str4 = '更上一层楼'
poem_list = [list(str1),list(str2),list(str3),list(str4)]
print("  "+"登鹳雀楼") #展示诗题
for i in range(4):     #列表为4行
    for j in range(5):  #每行5个字,为5列
        if j==4:
            print(poem_list[i][j])    #
打印出文字,并且换行
        else:
            print(poem_list[i][j],end='')    #
不是第5列的文字不换行,结尾为空

输出结果:

今天先写到这里了,每天进步一点点。今天你加油了吗!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2101653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是阿凡达2.0直播模式?

要了解什么是什么是阿凡达2.0直播模式,首先要了解什么是的阿凡达直播模式。 我们知道真人直播,播不了几个小时,主播就讲累了。且真人主播的价格又贵,以小时计费。所以很多数字人厂商推出了数字人直播。用数字人代替真人直播。在前几年的时候…

强烈建议!重罚自燃车企

文 | AUTO芯球 作者 | 雷慢 想想就叫人害怕啊, 广东惠州电车自燃那个事,你们看了吗 3辆汽车和多辆电动自行车被烧毁,住宅变危房, 最触目惊心的还是浓烟,许多住户咳呛不止, 周边小区也惨遭浓烟毒害&…

Css:css的属性选择器vs关系选择器及css中伪元素

css的属性选择器&#xff1a; 注&#xff1a;属性值只能由数字&#xff0c;字母&#xff0c;下划线&#xff0c;中划线组成&#xff0c;并且不能以数字开头。 1、[属性] 选择含有指定属性的元素&#xff0c;用[]中括号表示。 <style> [title]{color:red;} p[title]{col…

「Python数据分析」Pandas进阶,使用groupby分组聚合数据(一)

在数据分析过程中&#xff0c;groupby语句&#xff0c;起到对原始数据集&#xff0c;进行分组和聚合的作用。我们在进行数据处理的时候&#xff0c;经常需要对不同的数据维度&#xff0c;以及不同的数据切片集合&#xff0c;进行操作和处理。 比如说&#xff0c;假设我们有全国…

零基础国产GD32单片机编程入门(十二)FreeRTOS实时操作系统移植含源码

文章目录 一.概要二.什么是实时操作系统三.FreeRTOS的特性四.FreeRTOS的任务详解1.任务函数定义2.任务的创建3.任务的调度原理 五.FreeRTOS系统移植到GD32F103C8T6单片机1.硬件准备2.程序移植3.调试FreeRTOS任务调度 六.工程源代码下载七.小结 一.概要 FreeRTOS是一个迷你的实…

海外直播对网速、带宽、安全的要求

要满足海外直播的要求&#xff0c;需要拥有合适的网络配置。在全球化的浪潮下&#xff0c;海外直播正逐渐成为企业、个人和各类组织的重要工具。不论是用于市场推广、品牌宣传&#xff0c;还是与观众互动&#xff0c;海外直播都为参与者带来了丰富的机会。然而&#xff0c;确保…

KTH2502 系列车规数字锁存霍尔效应传感器

KTH2502 采用了先进的斩波技术&#xff0c;集成了温度补偿电路和过流、负压保护电路&#xff0c;具有卓越的灵敏度和温度稳定 性。磁场通过数字双极锁存器输出指示。该芯片具有开漏输出级以及 30mA 的灌电流能力。 2.7~32 V 的宽电压工 作范围&#xff0c;反极性保护高达 -22…

渗透测试靶机--- DC系列 DC-9

渗透测试靶机— DC系列 DC-9 开启靶机&#xff0c;依旧登录窗&#xff0c;平平无奇 扫描信息 访问页面看看 页面中存在查询接口&#xff0c;这里页面输入的内容是get请求&#xff0c;可以尝试sql注入&#xff0c;如果是post请求&#xff0c;那么抓包。将请求体放入sqlmap跑一下…

太速科技-基于Kintex-7 XC7K160T 的CameraLink转四路光纤数据转发卡(Full Camera Link图像转万兆以太网适配器 )

基于Kintex-7 XC7K160T 的CameraLink转四路光纤数据转发卡&#xff08;Full Camera Link图像转万兆以太网适配器 &#xff09; 一、板卡概述 该板卡是一款CameraLink&#xff08;Full&#xff09;转4路光纤接口板&#xff0c;可以实现1路CamerLink Full模式的图像信号转换成…

Druid未授权访问解决

Druid未授权访问原因分析 漏洞说明&#xff1a;Druid由阿里巴巴数据库出品&#xff0c;为监控而生的数据库连接池&#xff0c;并且Druid可以提供监控&#xff0c;监控SQL的执行时间、监控Web URI的请求、Session监控等功能&#xff0c;使用广泛。 需要明确&#xff1a; Druid…

物联网(IoT)支持的小型水处理厂实时硬件在环(HIL)仿真

这篇论文的标题是《Real-Time Hardware-In-The-Loop Simulation of IoT-Enabled Mini Water Treatment Plant》&#xff0c;作者是 Mohamad Taib Miskon 等人&#xff0c;发表在 2024 年 IEEE 自动控制与智能系统国际会议&#xff08;I2CACIS&#xff09;上。以下是该论文的主要…

搭建 xxl-job 调度中心

文章目录 1、初始化“调度数据库”2、修改“调度中心”配置3、打包运行”调度中心“ 1、初始化“调度数据库” 请下载项目源码并解压&#xff0c;获取 “调度数据库初始化SQL脚本” 并执行即可。 “调度数据库初始化SQL脚本” 位置为&#xff1a;/xxl-job/doc/db/tables_xxl_j…

微服务日常总结

1.当我们在开发中&#xff0c;需要连接多个库时&#xff0c;可以在yml中进行配置。 当在查询的时候&#xff0c;跨库时&#xff0c;需要通过DS 注解来指定&#xff0c;需要yml配置需要保持一致。 2. 当我们想把数据存入到clob类型中&#xff0c;需要再字段 的占位符后面加上j…

鸢尾花书实践和知识记录[数学要素3-1万物皆数]

章节框图 文章目录 本章用到的函数使用math库来打印出一些常用的值判断奇数偶数两数加减产生序列矩阵向量的表示&#xff1a;取数组矩阵元素的方法streamlit的绘图矩阵的一般类型构造二维矩阵矩阵的加和运算 本章用到的函数 复数和自然数 使用math库来打印出一些常用的值 i…

多表查询_关联查询

inner join:通常关联项on后面的是主外键&#xff0c;两个表都有的才显示 left join:左连&#xff0c;select * from S left join B on s.字段 B.字段&#xff0c;一定会将左边表的数据全部查询出来 right join:select * from S right join B on s.字段 B.字段一定会将右边表的…

Unity面向对象补全计划 之 List<T>与class(非基础)

C# & Unity 面向对象补全计划 泛型-CSDN博客 关于List&#xff0c;其本质就是C#封装好的一个数组&#xff0c;是一个很好用的轮子&#xff0c;所以并不需要什么特别说明 问题描述 假设我们有一个表示学生的类 Student&#xff0c;每个学生有姓名和年龄两个属性。我们需要创…

Git学习尚硅谷(002 git常用命令)

尚硅谷Git入门到精通全套教程&#xff08;涵盖GitHub\Gitee码云\GitLab&#xff09; 总时长 4:52:00 共45P 此文章包含第8p-第p15的内容 文章目录 git常用命令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库日志查看修改文件版本穿梭 git常用命令 设置用户签名…

视频集中存储智能边缘计算网关软硬一体机智能边缘计算网关应用场景

在信息化飞速发展的今天&#xff0c;数据处理的速度和效率直接影响到各行各业的运作和发展。传统的云计算模式虽然强大&#xff0c;但在面对实时性和带宽要求越来越高的应用场景时&#xff0c;往往显得力不从心。此时&#xff0c;智能边缘计算网关的出现&#xff0c;为我们带来…

源代码怎么加密防泄漏?9种方法教会你

想做源代码加密防止泄漏&#xff0c;首先要了解程序员可以通过哪些方式将源代码传输出去&#xff01; 程序员泄密的常见方式 物理方法&#xff1a; — 网线直连&#xff0c;即把网线从墙上插头拔下来&#xff0c;然后和一个非受控电脑直连; — winPE启动&#xff0c;通过光盘…

pikachu文件包含漏洞靶场攻略

1.File inclusion(local)&#xff08;本地文件包含&#xff09; 步骤一&#xff1a;选择一个球员提交 步骤二&#xff1a;filename后面输入../../../../shw.php访问php文件 2.File Inclusion(remote)&#xff08;远程文件包含&#xff09; 步骤一&#xff1a;修改配置 远程包…