猫史档案馆


【Python精讲】二维列表!

用户:_Rise__Rise_查看:12 回复:15 评论:12 创建时间:2020-08-07T11:21:41


      在Python中,由于列表的元素可以是列表,所以他也支持二维列表。那什么是二维列表呢?我们打个比方:一个酒店有很多房间,这些房间都可以构成一个列表,如果这个酒店有500个房间,那么拿到499号房钥匙的旅客可能就不高兴了,从1号房间走到499号房间要花好长时间,因此酒店设置了很多楼层,每个楼层会有很多房间,形成了一个立体结构,把大量的房间均铺到每个楼层,这种结构就是二维列表结构。

 

在Python中,创建二维列表有以下三种常用的方法
1.1直接定义二维列表
在Python中,二维列表就是包含列表的列表。即一个列表的每个元素又都是一个列表,所以在创建二维列表时,可以直接使用下面的语法格式进行定义。

listname = [[元素1,元素2,元素3,元素4],[元素5,元素6,元素7,元素8],[元素9,元素10,元素11,元素12],[元素13,元素14,元素15,元素16]]


1.2使用嵌套的for循环创建
创建二维列表,可以使用for循环实现。例如,创建一个包含四行五列的二维列表,可以使用下面的代码

listname = []            #创建一个空列表
for i in range(4): 
listname.append([])      #在空列表里再添加一个空列表
for j in range(5):
listname[i].append(j)    #为内层列表添加元素

上面代码执行后,将创建以下二维列表:
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

 

1.3使用列表推导式创建
使用列表推导式也可以创建二维列表,这种方法也是比较推荐的方法,因为他比较简洁。例如:

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

上面代码执行后,将创建以下二维列表:
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

 

2.访问二维列表中的元素
创建二维列表后,可通过以下代码访问列表中的元素

listname[行][列]

参数说明:
√listname:列表名称
√行:表示列表中第几行,行数从0开始,即第一行的行数为0
√列:表示列表中第几列,列数从0开始,即第一行的列数为0

 

下面通过一个具体的实例来演示二维列表的应用
【例】使用二维列表输出不同版式的古诗《静夜思》

a = '窗前明月光'
b = '疑是地上霜'
c = '举头望明月'
d = '低头思故乡'
e = [list(a),list(b),list(c),list(d)] #创建一个二维数组,list()意为将字符串改为列表
print('\n --横版-- \n')
for i in range(4):                    #循环古诗的每一列 
for j in range(5):                    #循环古诗每一行的每个字
if j == 4:                            #如果是一行中的最后一个字
print(e[i][j])                        #换行输出
else:
print(e[i][j],end='')                 #不换行输出

e.reverse()                           #对列表进行逆序排列

print('\n --竖版-- \n') 
for i in range(5):                    #循环古诗每一行的每个字
for j in range(4):                    #循环新逆序排列后的第一行
if j == 3:                            #如果是最后一行
print(e[j][i])                        #换行输出
else:
print(e[j][i],end='')                 #不换行输出

运行结果:

center_image


回复

上一页1 页 / 共 1下一页
_Rise__Rise_

dd

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

众所周知,Rise水帖系列有了第五部

点赞0


评论


白篮白篮

这样认真写教程是很少有人看的....

点赞0


评论


不会翻身的咸鱼不会翻身的咸鱼

我竟然会了!py渣的日常惊叹

点赞0


评论


_Rise__Rise_

点赞0


评论


_Rise__Rise_

点赞0


评论


韵律源点Arcaea韵律源点Arcaea

没啥好说的就dd吧

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

jddb = 简单到爆

点赞1


评论


_Rise__Rise_

dd

点赞0


评论


wrmdcxywrmdcxy

这没有缩进的吗?看着有点绕(好在最后还是看懂了

点赞0


评论


碳

话说讲NumPy数组应该更香8(doge

点赞0


评论


_Rise__Rise_

课后作业:用Python做出一个十一维列表

点赞0


评论


_Rise__Rise_

点赞0


评论


****************

交作业center_image

点赞0


评论


浮躁的飓风雀HYKa浮躁的飓风雀HYKa

_11_list = [[[[[[[[[[['呵呵呵']]]]]]]]]]]
print(_11_list[0][0][0][0][0][0][0][0][0][0][0])

点赞0


评论