Python语法(3)
今天我们来学习列表
列表是一种常见的变量类型,可以存储一列元素,在python中元素的类型可以是不同的,不过大多数情况下应该都是相同的。
列表的初始化
1.直接初始化
a = []#定义一个空列表
b = [1,2]#定义一个含有两个整数的列表
c = [1,"python",1.23] #定义一个含有多个类型元素的列表
print(a,b,c)
2.通过函数append来进行初始化
a = []
for i in range(5):
a.append(0)#初始化5个0
print(a)
n = 4
print(n)
b =[]
for i in range(n):
b.append(i*i)
print(b)
3.通过for循环语句初始化列表长度和每个位置上的数值
a =[0 for i in range(5)]#[0,0,0,0,0]
print(a)
#这里是一个简写,当然也可以写成for循环之前那种形式
'''
for i in range(5):
a.append(i)
print(a)
'''
n = 4
b = [i*i for i in range(n)]
print(b)
**注意Python中for循环输入和C语言不太一样,例如下面的书写方式就是错误的
#这就是错误的书写方式
a = []
for i in range(5):
a[i]=i
访问列表元素
Python中访问列表元素有两种,既可以是负数,也可以是正数,他们的指代方式是不同的,注意数组的下标除非刻意不然正数都是从0开始的,这里我们用一张图可以较为直观的看到。
这张图可以较为清楚且直观的理解
接下来是例子
a = [0,1,2]
print(a[0],a[1],a[2])#输出为0 1 2
a[0]=3#更改某一位置上的值
print(a)#直接输出这个列表
print(a[-1])#输出最后一个元素 -1%3=2所以表示的是a[2]
使用循环语句遍历列表
1.可以利用下标访问
a = [1,2,3,4,5,6]
for i in range(5):
print(a[i],end=" ")
2.可以直接写在for循环里面
a = [1,2,3,4,5,6]
for i in a:
print(i,end=" ")
列表的切片操作
列表的切片操作会返回一个新的列表。用法:a[begin:end]是一个左闭右开的区间,当然其中的是可以省略不写的。
a = [1,2,3,4,5,6]
print(a[1:4])
print(a[1:])#默认输出道列表最后
print(a[:4])#默认从开头输出
print(a[:])#默认输出全部
print(a[-4:-1])
切片也支持读写操作,可以一次改变多个值
a = [1,2,3,4,5,6]
a[1:4]=[2,3]
print(a)#输出[1,2,3,5,6]
列表的复制
列表和其他变量不同,如果用等号作为复制方式,那么原列表和新列表是同一个列表,新列表修改了,原列表也跟着会变。
a = [1,2,3]
b = a
b[1]=4
print(a)#输出[1,4,3]
因此我们可以做一个浅拷贝,此时再修改新列表,原列表不会改变。
a = [1,2,3]
b =a[:]
b[1]=4
print(a)#输出[1,2,3]
列表的运算
1.列表的加运算可以将两个列表拼接起来,得到一个新列表
a = [1,2,3]
b = [4,5,6]
print(a+b)
#输出[1,2,3,4,5,6]
2.列表的乘运算:
可以自身乘一个整数,可以将整数个自身拼接起来,得到一个新的列表
a = [1,2,3]
b = a*3
print(b)
列表的常用操作
a = [1,2,3]
#这里我并没有按照规则书写,只是列举一下
len(a)返回列表长度
a.append(x)在列表的末尾插入元素x
a.pop()删除最后一个元素,如果括号有参数,删除以参数作为下标的元素
a.reverse()将整个列表翻转
a.sort()将整个列表按照从小到大排序
大家可以试一试上述函数有么有返回值!!
嵌套列表
列表是一种元素,所以列表中的元素也可以是列表,这就跟C语言中二维数组很相似
a = [[1,2,3],[4,5,6],[7,8,9]]
print(a[1][0])#输出方式
a[1][0]=23#更改某一位置上的值
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j],end=" ")
print()
#两种输出方式上面是一种,下面也是一种
for i in a:
for j in a[i]:
print(j,end=" ")
print()
嵌套列表的常用的初始化方式有两种:
1.用append()函数初始化
a = []
for i in range(3):
row = []
for j in range(3):
row.append(i * 3 + j)
a.append(row)
print(a)
2.采用for循环直接初始化
a = [[i * 3 + j for j in range(3)] for i in range(3)]
print(a)
如果大家是初学者的话,建议大家不要使用简写方式,容易出现错误,等以后熟练掌握了再使用简写方式也不迟!!!
额外补充
1.当读入一行整数时候,可以使用
a =list(map(int,input().split()))
使用这个语句就可以读入一行整数,同理,浮点数只需要将int改成float
2.min函数和max函数
这里min函数和max函数可以一次性比较多个值
a = 1
b = 3
c = 6
print(max(a,b,c))
3.特殊用法
a[::-1]可以返回一个逆序的新列表
a = [1,2,3]
print(a[::-1])
标签:输出,初始化,Python,列表,语法,range,print,append
From: https://www.cnblogs.com/du463/p/17718231.html