列表:
中括号、有序的集合
创建列表
格式:列表名 = [列表选项1,列表选项2,...,列表选项n]
1、创建空列表:list = []
2、创建带有元素的列表:list2 = [18, 19, 20, 21, 22]
注:列表中的元素数据可以是不同类型的:[1,2,3,4,"string"]
列表元素的访问
通过下标,从0开始;注:不要越界(下标不可超出可表示的范围)
list4 = [1,2,3,4,5]
print(list4[2])
#print(list[5]) #不能访问,超出范围了
列表元素的替换
list4[2] = 300
print(list4[2])
列表的操作:
1、列表的组合:
list5 = [1,2,3]
list6 = [4,5,6]
list7 = list5 + list6
print(list7)
结果:[1, 2, 3, 4, 5, 6]
2、列表的重复:
list8 = [1,2,3]
print(list8 * 3)
结果:[1, 2, 3, 1, 2, 3, 1, 2, 3]
3、判断元素是否在列表中:
list9 = [1,2,3,4,5]
print(3 in list9)
print(6 in list9)
结果:
True
False
4、列表截取:
list10 = [1,2,3,4,5,6,7,8,9]
print(list10[2:6])
print(list10[3:])
print(list10[:5])
结果:
[3, 4, 5, 6]
[4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5]
5、二维列表:
list11 = [[1,2,3],[4,5,6],[7,8,9]]
print(list11[1][1])
结果:5
列表的方法:
1、append()
在列表后末尾添加新的元素
list12 = [1,2,3,4,5]
list12.append(6)
list12.append([7,8,9])
print(list12)
结果:[1, 2, 3, 4, 5, 6, [7, 8, 9]]
2、extend()
在末尾一次性追加一个列表中多个值:
list13 = [1,2,3,4,5]
list13.extend([6,7,8])
print(list13)
结果:[1, 2, 3, 4, 5, 6, 7, 8]
3、insert()
在下标处添加一个元素,不要覆盖原数据,原数据向后顺延
list14 = [1,2,3,4,5]
list14.insert(1,100)
list14.insert(1,[200,300])
print(list14)
结果:[1, [200, 300], 100, 2, 3, 4, 5]
4、pop(x=list[-1])
移除列表中指定下标处的元素(默认移除最后一个元素),并返回删除的数据
list15 = [1,2,3,4,5]
list15.pop()
print(list15.pop(2))
print(list15)
结果:
3
[1, 2, 4]
5、remove()
移除列表中的某个元素第一个匹配的结果
list16 = [1,2,3,4,5,4]
list16.remove(4)
print(list16)
结果:[1, 2, 3, 5, 4]
6、clear()
清除列表中的所有数据
list17 = [1,2,3,4,5]
list17.clear()
print(list17)
结果:[]
7、index(int[, start][, end])
从列表中找出某个值第一个匹配的索引值
list18 = [1,2,3,4,5,3]
index18 = list18.index(3)
index19 = list18.index(3,3,7) #end值超了也默认是最后
print(index18,index19)
结果:2 5
8、len()
列表中元素的个数
list20 = [1,2,3,4,5]
print(list20.__len__()) # list.__len__()
print(len(list20)) # len(list)
结果:
5
5
9、max()、min()
获取列表中最大值和最小值
list21 = [1,2,3,4,5]
print(max(list21))
list22 = [1,2,3,4,5]
print(min(list22))
结果:
5
1
10、count()
查看元素在列表中出现的次数
list23 = [1,2,3,4,5,3,4,5,3,3,5,6]
print(list23.count(3))
结果:4
练习:删除list23里面的“3”
num24 = 0
all = list23.count(3)
while num24 < all:
list23.remove(3)
num24 += 1
print(list23)
结果:[1, 2, 4, 5, 4, 5, 5, 6]
11、reverse()
倒序
list25 = [1,2,3,4,5]
list25.reverse()
print(list25)
结果:[5, 4, 3, 2, 1]
12、sort()
升序排序
list26 = [2,1,5,3,4]
list26.sort()
print(list26)
结果:[1, 2, 3, 4, 5]
13、拷贝
13.1、“=”
浅拷贝
list27 = [1,2,3,4,5]
list28 = list27
list28[1] = 200
print(list28)
print(list27)
print(id(list28))
print(id(list27)) #id相同,两个都改了
结果:
[1, 200, 3, 4, 5]
[1, 200, 3, 4, 5]
1991223206152
1991223206152
13.2、copy()
深拷贝
list29 = [1,2,3,4,5]
list30 = list29.copy()
list30[1] = 200
print(list29)
print(list30)
print(id(list29))
print(id(list30))
结果:
[1, 2, 3, 4, 5]
[1, 200, 3, 4, 5]
1991223206024
1991223206216
14、list()
将元组转换成列表
注:模块中不能有变量名为“list”的,否则方法执行不成功
list31 = list((1,2,3,4))
print(list31)
结果:[1, 2, 3, 4]