python中一维列表和二维列表的定义方法,超详细

目录

一维列表的定义

直接赋值生成

用户输入生成

元素类型是字符型

元素类型是整形

二维列表的定义

直接赋值生成

用户输入生成

元素类型是字符型

元素类型是整型

编程题常用的列表输入格式


一维列表的定义

直接赋值生成

如定义一个长度为5的一维列表

L=['h','e','l','l','o']
print(L)

结果为

如果列表中每个元素相同则可以用for循环生成,如生成长度为10且每个元素都为0的列表

L=[0 for i in range(10)]
print(L)

结果为

用户输入生成

需要用户在终端输入数组的元素

元素类型是字符型

直接使用input函数和spilt函数

L=input().split()
print(L)

在终端输入abcd jkjk jnjn,结果如下

以上表示每个元素用空格分隔,如果需要使用别的分隔符如逗号,代码如下

L=input().split(",")
print(L)

在终端输入abcd,jkjk,jnjn 结果如下

这个时候如果还是使用空格分开,会把这整个当成列表的一个元素

元素类型是整形

因为input接收的默认是字符型,所以需要先使用map函数把每个元素转换成整型,然后还需要使用list函数将整个转换成列表

L=list(map(int,input().split())
print(L)

终端输入12 15 59 75 55,结果为

二维列表的定义

首先要把上面的一维列表定义搞清楚,二维列表的定义是建立在一维列表上的

直接赋值生成

L=[
[1,2,3],
[4,5,6],
[7,8,9]
]
print(L)
print(L[0])
print(L[0][2])

结果

python中一维列表和二维列表的定义方法,超详细_第1张图片

python的二维列表不像c语言的二维数组一样会二维的显示出来,而是通过列表中含有列表的方式,L[0]表示L中的第一个元素即为[1,2,3],L[0][2]表示[1,2,3]中的第三个元素,所以L[0][2]为3

也可以写成如下形式,python的二维列表可以看成元素为列表类型的一维列表

L=[[1,2,3],[4,5,6],[7,8,9]]

使用for循环定义相同元素的二维数组,如定义三行四列的二维列表,每个元素都为0

L=[[0 for j in range(4)] for i in range(3)]
print(L)

先建立4个元素为0的一维列表,然后建立3个这样的列表,结果为

用户输入生成

需要使用for循环和append函数,每行元素个数可以不同

元素类型是字符型

例如创建三行的二维列表

L=[]
for i in range(3):
    L.append(input().split())
print(L)
print(L[1][1])

终端输入

aa bb cc
dd ee 
ff gg hh ii

结果为

python中一维列表和二维列表的定义方法,超详细_第2张图片

元素类型是整型

L=[]
for i in range(3):
    L.append(list(map(int,input().split())))
print(L)
print(L[1][1])

终端输入

1 2 3
4 5
6 7 8 9

结果为

python中一维列表和二维列表的定义方法,超详细_第3张图片

编程题常用的列表输入格式

由于编程题一般都是用户输入生成列表,而且有固定的输入格式要求,例如题目规定输入第一行输入n和m,n表示行数,m表示列数,接下来输入n行,每行有m个整数,即以下格式

3 4
11 22 33 44
55 66 77 88
99 11 22 33

根据要求代码可以写成如下

n,m=int(input().split())
L=[]
for i in range(n):
    L.append(list(map(int,input().split())))

如果格式要求为用逗号分割,如

3,4
11,22,33,44
55,66,77,88
99,11,22,33

只需要在split函数里加逗号,如

n,m=int(input().split(","))
L=[]
for i in range(n):
    L.append(list(map(int,input().split(","))))

还有一种就是会规定用户输入一次输入生成两个列表,例如输入格式为四行,每行有两个元素,分别是两个列表的元素,其中元素类型为整型

L=[]
K=[]
for i in range(4):
    a,b=map(int,input().split())
    L.append(a)
    K.append(b)
print(L)
print(K)

终端输入

12 23
42 21 
11 22
31 42

结果为

python中一维列表和二维列表的定义方法,超详细_第4张图片

你可能感兴趣的:(python,pycharm)