list内置方法

江枫思渺然 提交于 2019-11-26 10:21:05

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']

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!