Python|Python教程:python中二维列表的创建、访问、应用详解( 二 )


比如使用列表推导式的方法创建一个5行5列的二维列表 , 代码如下:
s = [[j for j in range(5)
for i in range(5)

print(s)

执行上面代码 , 创建的二维列表结果如下:
[[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4

>>> 

4、二维列表的访问
我们在创建好二维列表以后 , 可以通过下列语法 , 对列表元素的访问:
listname[索引1
[索引2


其中 , 相关的参数说明为:
listname:表示列表的名称
索引1:列表中的行 。 索引值从0开始 , 即第一行是索引为0 。 (索引也称为下标 , 索引1也称为下标1)
索引2:列表中的列 。 索引值从0开始 , 即第一列是索引为0 。 (索引也称为下标 , 索引2也称为下标2)

如 , 定义一个二维列表 , 访问他的第1行 , 第5列 , 可以使用下面代码:listname[04

s = [[j for j in range(5)
for i in range(5)
      # 定义一个5行5列的二维列表print(\"5行5列的列表为:\"s)                        # 输出二维列表print(\"其中第1行 , 第5列为:\"s[0
[4
)              # 输出第1行 , 第5列的元素

运行结果为:
5行5列的列表为: [[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4
[0 1 2 3 4

其中第1行 , 第5列为: 4>>> 

5、二维列表的应用
使用二维列表输出不同版式的古诗《静夜思》
-- 横版 --
床前明月光
疑是地上霜
举头望明月
低头思故乡
-- 竖版 --
低举疑床
头头是前
思望地明
故明上月
乡月霜光


站长在线温馨提醒:横版是从左往右读 , 竖版是从右往左读的 。
我们在IDLE中新建一个文件 , 在该文件中 , 定义4个字符串为《静夜思》的诗句 , 再定义一个二维列表 , 使用嵌套的for循环 , 将古诗以横版输出 , 再将二维列表进行逆序排列 , 最后使用嵌套的for循环 , 将古诗以竖版输出 , 代码如下:
str1 = '床前明月光'str2 = '疑是地上霜'str3 = '举头望明月'str4 = '低头思故乡'verse = [list(str1) list(str2) list(str3) list(str4)
   # 定义一个二维列表print('\-- 横版 --\')for i in range(4):                                         # 循环古诗的每一行    for j in range(5):                                     # 循环每一行的每个字(列)        if j == 4:                                         # 如果是一行中的最后一个字            print(verse[i
[j
)                             # 换行输出        else:            print(verse[i
[j
end='')                     # 不换行输出verse.reverse()                                            # 对列表进行逆序排列print('\-- 竖版 --\')for i in range(5):                                         # 循环每一行的每个字(列)    for j in range(4):                                     # 循环新逆序排列后的第一行        if j == 3:                                         # 如果是最后一行            print(verse[j