list
即列表,它是一种有序的集合,可以随时添加或删除其中的元素,序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
作用:多个装备,多个爱好,多门课程等
定义:[]内可以有多个任意类型的值,逗号分隔。
1 L=[1,2,3,4,5,6,7,8,9] 2 print(L[0:4]) 3 print(L[0:4:2])#正向步长为2 4 print(L[3::-1])#反向步长 5 print(L[::-1])#列表反转 6 L=[1,2,3,4,5,6,7,8,9] 7 L[1]="A" 8 print(L) 9 10 11 LL=[1,2,3,["a","b",[1,"A"],"c"],4]#嵌套列表 12 print(LL[3][2][1])
结果
1 [1, 2, 3, 4] 2 [1, 3] 3 [4, 3, 2, 1] 4 [9, 8, 7, 6, 5, 4, 3, 2, 1] 5 [1, 'A', 3, 4, 5, 6, 7, 8, 9] 6 A
根据索引直接修改列表
1 L=[1,2,3,4,5,6,7,8,9] 2 L[1]="A" 3 print(L)
结果
1 [1, 'A', 3, 4, 5, 6, 7, 8, 9]
创建列表
L=list(range(10))#创建数字列表 print(L)
结果
1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
删除元素
用del语句根据索引直接删除
1 L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 2 del L1[-1] 3 print(L1) 4 L2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 5 del L2[-3:-1]#范围[-3,-1) 6 print(L2)
结果
1 [1, 2, 3, 4, 5, 6, 7, 8] 2 [1, 2, 3, 4, 5, 6, 9]
for循环
1 L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 2 for item in L1: 3 print(item)
结果
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9
列表操作符

列表内置的方法
append()#浅拷贝
语法:l.append(obj)
参数:obj-----添加到列表末尾的对象,不能为空白符,只能是单个数据
描述:无返回值,会直接修改原来的列表
1 L=[1,"a","A"] 2 n1=L.append(2) 3 print(n1) 4 print(L)
结果
1 None 2 [1, 'a', 'A', 2]
clear()
语法: l.clear()
参数:无
描述:没有返回值,原列表被清空后返回None,已经赋值给其它变量的列表也会被清空。
1 L=[1,"a","A"] 2 A=L 3 n=L.clear() 4 print(L) 5 print(n) 6 print(A)
结果
1 [] 2 None 3 []
copy()
语法:l.copy()
参数:无
描述:返回复制后的新表,浅拷贝。相当于复制了一个副本,原值的变化不影响后面的复制的副本。
1 L=[1,"a","A"] 2 L2=L 3 n=L.copy() 4 print(n) 5 print(L.copy()) 6 L[1]="B" 7 print(n)
结果
1 [1, 'a', 'A'] 2 [1, 'a', 'A'] 3 [1, 'a', 'A']
count()
语法:l.count(obj)
参数:obj-----要统计的对象
描述:返回值是统计对象在列表中出现的次数。
1 L=[1,"AA",1,"AA",2]
2 print(L.count("A"))
3 print(L.count(2))
结果
1 0 2 1
extend()
语法:l.extend(seq)
参数:seq-----要追加的元素列表,可以是多个元素,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾
描述:无返回值。会直接在原列表中追加新元素。
1 L1=[1,2,3,4] 2 L2=["A","B","C","D"] 3 n1=L1.extend(["A","B","C","D"]) 4 print(L1) 5 n2=L1.extend(L2) 6 print(L1) 7 print(n1)
结果
1 [1, 2, 3, 4, 'A', 'B', 'C', 'D'] 2 [1, 2, 3, 4, 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D'] 3 None
index()
语法:l.index(x[,start[,end]])
参数:x-----查找的对象,不能为None
start-----可选,查找的起始范围
end-----可选,查找的结束范围
描述:返回值是查找对象的索引位置,如果没有抛出异常。
1 L=[ 1,1,2,2,3,3,"1",[1,2,3]]
2 print(L.index("1"))
3 print(L.index(2,2,3))#[2,3)
结果
1 6 2 2
insert()
语法:l.insert(index,obj)
参数:index-----对象要插入的索引位置
obj-----要插入的对象
描述:没有返回值,直接在原列表指定索引位置插入对象
1 L=[1,2,3,4,5] 2 L.insert(-2,"A")#索引不能为None,第二个参数不能不写,不能为空字符 3 print(L)
结果
1 [1, 2, 3, 'A', 4, 5]
pop()
语法:l.pop(x)
参数:x-----可选参数,要移除元素的索引值,默认为-1
返回值:返回值是删除的元素
1 L=[1,2,3,4,5] 2 n=L.pop() 3 print(n) 4 print(L) 5 L.pop(-2) 6 print(L)
结果
1 5 2 [1, 2, 3, 4] 3 [1, 2, 4]
remove()
语法:l.remove(obj)
参数:obj-----列表中要移除的对象‘
描述:没有返回值,会移除列表中的第一个匹配项
1 L=[2,1,1,1,2,2,2] 2 n=L.remove(2)#参数不能不写 3 print(n) 4 print(L)
结果
1 None 2 [1, 1, 1, 2, 2, 2]
reverse()
语法:l.reverse()
参数:无
描述:没有返回值,原列表进行反向排序。
1 L=[1,2,3,"A"] 2 L.reverse() 3 print(L)
结果
1 ['A', 3, 2, 1]
sort()
语法:l.sort(key=None,reverse=False)
参数:key-----用来比较的元素, 指定可迭代对象中的一个元素来排序
reverse-----排序规则,True为降序,False为升序。
1 L1=[1,0,23,4,89,17,34] 2 L2=[1,0,23,4,89,17,34] 3 L1.sort() 4 L2.sort(reverse=True) 5 print(L1) 6 print(L2) 7 8 L3=["a","z"," ","1","0","f","H"] 9 L4=["a","z"," ","1","0","f","H"] 10 L3.sort() 11 L4.sort(reverse=True) 12 print(L3) 13 print(L4) 14 #int和str不能比,list和str不能比 15 #如果非要把int和str比较 16 L5=["a","z",1,0,-2,12,"1","0","f","H"] 17 L5.sort(key=str)#这里是利用 key 参数将数字全部转换为 str 类型后排序。 18 print(L5)
结果
1 [0, 1, 4, 17, 23, 34, 89] 2 [89, 34, 23, 17, 4, 1, 0] 3 [' ', '0', '1', 'H', 'a', 'f', 'z'] 4 ['z', 'f', 'a', 'H', '1', '0', ' '] 5 [-2, 0, '0', 1, '1', 12, 'H', 'a', 'f', 'z']
