列表(list)就是由"[ ]"定义,可以存放任意元素的一个容器,其内部元素是可以更改的。
在列表中可以直接根据下标来查找元素,如:
lt=[1,2,3,[1,2,3],'abc']
print(lt[0]) #打印结果为“1”
print(lt[3]) #打印结果为“[1,2,3]”
按下标访问元素应注意不要越界,也就是说不要超过下标范围(0 到 元素个数-1),如果超过下标范围会报错
列表中的元素是可以更改的,如
lt=[1,2,3,[1,2,3],'abc']
lt[0]=200
print(lt) # 打印结果[200,2,3,[1,2,3],'abc'] 原lt[0]为“1”,经过重新赋值后变为200
列表页可以进行运算
-
加法运算:
lt=[1,2,3] lt2=[4,5,6] print(lt+lt2) #打印结果[1,2,3,4,5,6]
-
乘法运算:
lt=[1,2,3] print(lt*3) #打印结果[1,2,3,1,2,3]
对一个元素在不在列表内进行判断(in not in),结果返回True/False
lt=[1,2,3]
print(5 in lt) #因为5不在lt内 所以打印False
print('a' not in lt) #'a'不在lt内 打印True
列表元素的添加
-
append():在列表末尾添加元素
lt=[1,2,3] lt.append(100) print(lt) #打印结果lt=[1,2,3,100] lt=[1,2,3] lt.append([1,2,3]) print(lt) #打印结果lt=[1,2,3,[1,2,3]] (添加一个列表时不会拆分,而是把它当成一个整体进行添加)
-
extend():在列表尾部添加元素(可以拆分列表迭代加入)
lt=[1,2,3] lt.extend(100) print(lt) #打印结果lt=[1,2,3,100] lt=[1,2,3] lt.extend([1,2,3]) print(lt) #打印结果lt=[1,2,3,1,2,3] (把列表拆分后,迭代添加到lt中)
-
insert():在指定的位置插入一个值,不改变原下标点的值,只是往后推了一位
lt=[1,2,3] lt.insert(1,5) print(lt) #打印结果 [1, 5, 2, 3](把5插入到下标为1的位置)
删除元素
-
del :删除
lt=[1,2,3,4,5,6,7,8,9] del lt print(lt) #会报NameError: name 'lt' is not defined的错误,del直接删除了lt本身 lt=[1,2,3,4,5,6,7,8,9] del lt[0] print(lt) #打印结果[2,3,4,5,6,7,8,9] (直接删除了下标元素)
-
remove():可以指定元素删除
lt=[1,2,3,4,5,6,7,8,9] lt.remove(4) print(lt) #打印结果为[1, 2, 3, 5, 6, 7, 8, 9]
-
pop():根据下标删除元素,不定义下标就会默认删除最后一个
lt=[1,2,3,4,5,6,7,8,9] lt.pop(4) print(lt) #打印结果为[1, 2, 3, 4, 6, 7, 8, 9] (删除了下标为4的元素)
-
clear():清空列表
lt=[1,2,3,4,5,6,7,8,9] lt.clear() print(lt) #打印结果为[] (把列表元素清空,返回空列表)
查找元素下标
index():根据元素查找对应下标,元素不存在会报错
lt=[1,2,3,4,5,6,7,8,9]
print(lt.index(3)) #打印结果为2,指的是元素3 下标为2
count():查找元素在列表中出现的次数
lt=[1,2,3,4,1,5,6,7,8,9]
print(lt.count(1)) #打印结果为2,指的是元素1在列表中出现2次
对列表的截取操作
lt=[1,2,3,4,1,5,6,7,8,9]
print(lt[:2]) #从下标0 截取到2 后面是开区间不取值
print(lt[1:]) #从下标1开始截取到最后
print(lt[2:5]) #从下标0 到下标5 因为右面是开区间所以实际取值到下标4
print(lt[::-1]) #关于步进值,是指隔几个区一个,默认是1,为-1时逆序打印
列表的排序和逆序
sort(): 排序
lt=[1,6,9,2,3,5,4]
lt.sort()
print(lt) # 打印结果为排列好的升序形式。[1,2,3,4,5,6,9]
reverse(): 逆序
lt=[1,6,9,2,3,5,4]
lt.reverse()
print(lt) #对列表进行逆序操作。 [4, 5, 3, 2, 9, 6, 1]
只有sort 和 reverse结合使用时,才会进行升序排序和降序排序。
reverse=True时降序排序:
lt=[1,6,9,2,3,5,4]
lt.sort(reverse=True)
print(lt) #[9, 6, 5, 4, 3, 2, 1]
reverse=False时升序排序:
lt=[1,6,9,2,3,5,4]
lt.sort(reverse=False)
print(lt) #[1,2,3,4,5,6,9]