二维列表
由于列表元素可以是列表,所以在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学习的经验,都会有具体的实例。如果有写的不详细的可以在评论区说一哈,我好即使更改