2022年 11月 5日

#python二维列表(有图有代码,简洁清晰明了!)

二维列表

由于列表元素可以是列表,所以在python中也支持二维列表。
二维列表中的信息以行和列的形式表示,第一个下标代表元素所在的行,第二个下标代表元素所在的列。
在python中创建二维列表有以下3种常用的方法
1、直接定义二维列表
例如:

listname=[[元素1],[元素2],[元素3]......[元素n]]
  • 1

listname: 表示生成列表名称
【元素1】: 表示二维列表的第一行,也是一个列表,其中的元素1表示第一行的列
【元素n】: 表示二维列表的第n行
————————我是分割线————————————
2、使用嵌套的for循环创建
实例:

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
——————我是分割线————————
3、使用列表推导式创建
这种方法是推荐方法,因为它较为简洁。
实例:创建4行5列的二维列表(推导式)

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

  • 1
  • 2
  • 3

在这里插入图片描述
创建好了二维数组后,可以通过以下语法格式访问列表中的元素。

listname[下标1][下标2]
  • 1

listname: 表示列表名称
下标1: 表示列表中第几行,下标值从0开始
下标2: 表示列表中第几列,下标值从0开始
例如,如果要访问第二行第五列

arry=[[i for j in range(5)]for i in range(4)]
print(arry)
  • 1
  • 2

实例:使用二维列表输出不同版式的古诗《静夜思》

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][i])#换行输出
        else:
            print(verse[j][i],end=' ')#不换行输出
            
        

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述
说明:
在上面的代码中,list()函数用于将字符串转化为列表;列表对象的reverse()方法用于对列表进行逆序排列,即将列表的最后一个元素移动到第一个上来,倒数第二个元素移到第二二个。
————————我是分割线————————————
信息安全小萌新注:
如果有人对python感兴趣的可以和我一起学习啊!嘿嘿,我会不定时分享我对于python学习的经验,都会有具体的实例。如果有写的不详细的可以在评论区说一哈,我好即使更改