python里面的列表结构类似于C/C++中的数组,是一个有序列的数据结构,可以用索引访问里面的元素。
1、创建list
(1)创建空列表
l1 = []
l4 = list()
print(type(l1))#type函数能得到数据类型
(2)创建带值的列表
l3 = [1,2,3,4]
2、列表可以用下标值访问元素(从0开始)
3、列表的分片操作
l5 = [1,2,3,4,5,6,7] print(l5[1:4])#范围左闭右开 print(l5[:4])#左边不写代表从第0个开始 print(l5[4:])#右边不写代表读到左后一个数 #分片可以可控制增长的幅度 print(l5[1:4:2])#增长幅度为2 #下标,增长幅度可以为负数:左边的值必须小于右边的值 print(l5[-4:-2]) #如果左边值大于右边的值,步长参数则需要为负数 print(l5[-2:-4:-1])
l6=l5[1:4] print(l6)
值得注意的是,列表的分片操作是生成了一个新的列表对象。
4、列表的遍历
主要用for循环遍历
l=[1,2,3,4,5,6,7]
for i in l:
print(i)
5、列表内涵
(1)可以根据已有列表创建新列表
a= [1,2,3,4,5]
b = [i*10 for i in a]
(2)可以过滤列表中的内容
c = [m for m in a if m % 2==0 ]
5、列表的操作
(1)copy:
a = [1,2,[3,4,5]] b=a.copy()
调用列表对象的copy函数,注意中复制方式为浅拷贝复制
(2)del:
a = [1,2,3,4,5,6] print(id(a)) del a[1] print(a)
调用对象的del函数后未生成新的对象。
(3)列表的+、*
+:将多个列表相连接
a = [1,2,3,4,5] b = [7,8,9,0] c = ['a','b','c'] d= a + b + c
*:将元素重复
e=a*3 print(e)
(4)判断元素是否在列表中:in or not in
value=1 print(value in a) print(value not in b)
6、列表内置函数
(1)list():将其他类型转换成list
s="i love zd" print(list(s))
(2)append():在列表的尾添加
a = [ i for i in range(1,10)] a.append(10) print(a)
(3)insert(index,data):在列表的指定位置添加元素
a.insert(2,111) print(a)
(4)pop:在末尾中拿出一个元素
data= a.pop() print(data) print(a)
(5)remove:在列表中删除指定的值(如果值不在列表中则报错)
(6)clear:清空列表中的元素。(只是删除元素,列表对象还是存在)
(7)reverse():原地反转内容
a.reverse() print(a)
(8)extend:扩展列表相当于“+”
(9)count(data):查找列表中含有多少个data
tuple:是一个不可更改的list
tuple的创建:
t=()或者t=(1,)或者t=1,或者t=(1,2,3,4,5)
因为tuple不可更改,所以不支持分片操作。