48 列表嵌套——二维列表


Python中,由于列表元素还可以是列表,所以它也支持二维列表的概念。那么什么是二维列表?前文提到酒店有很多房间,这些房间都可以构成一个列表,如果这个酒店有 500个房间,那么拿到 499号房钥匙的旅客可能就不高兴了,从 1号房走到 499号房要花好长时间,因此酒店设置了很多楼层,每一个楼层都会有很多房间,形成一个立体的结构,把大量的房间均摊到每个楼层,这种结构就是二维列表结构。使用二维列表结构表示酒店每个楼层的房间号的效果如下图所示。
在这里插入图片描述
二维列表中的信息以行和列的形式表示,第一个下标代表元素所在的行,第二个下标代表元素所在的列。在Python中,创建二维列表有以下三种常用的方法。

直接定义二维列表

listname = [
 [元素11, 元素12, 元素13, …, 元素1n],
 [元素21, 元素22, 元素23, …, 元素2n],
 …,
 [元素n1, 元素n2, 元素n3, …, 元素nn]
 ]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用嵌套的for循环创建

创建二维列表,可以使用嵌套的for循环实现。
在这里插入图片描述

使用列表推导式创建

使用列表推导式也可以创建二维列表,因为这种方法比较简洁,所以建议使用这种方法创建二维列表。

例如,使用列表推导式创建一个包含45列的二维列表可以使用下面的代码:

arr = [[j for j in range(5)] for i in range(4)]

在这里插入图片描述

访问二维列表中的元素

listname[下标1][下标2]

参数说明:

  • listname:列表名称。
  • 下标1:表示列表中第几行,下标值从0开始,即第一行的下标为0
  • 下标2:表示列表中第几列,下标值从0开始,即第一列的下标为0
    在这里插入图片描述

案例一

使用二维列表输出不同版式的古诗。

在这里插入图片描述
在这里插入图片描述
结果如下:
在这里插入图片描述

案例二

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。
在这里插入图片描述

练习

10个同学,随机分配到5个软件班,请编程实现。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值