来源:AI入门学习列表是python中非常重要的一种数据类型。里面有11个方法。掌握这些方法将大大提高数据处理的效率。现在,我将与您分享。print(dir(list()))#查看列表方法[...,'append','clear','copy','count','extend','index','insert','pop','remove','reverse','sort']01,append()方法说明:append()方法在列表的末尾(end)添加一个元素对象ls语法:ls.append(object)object是元素待补充。参数:对象可以添加列表、字典、元组、集合、字符串等。append()函数的操作对象是原来的列表。ls=[1,2,3,4,5,6]ls.append(12)#添加元素print(ls)[1,2,3,4,5,6,12]ls.append([1,"a"])#添加列表print(ls)[1,2,3,4,5,6,12,[1,'a']]ls.append({2:"a",3:"hj"})#添加字典print(ls)[1,2,3,4,5,6,12,[1,'a'],{2:'a',3:'hj'}]ls.append((1,"k",3))#add元组print(ls)[1,2,3,4,5,6,12,[1,'a'],{2:'a',3:'hj'},(1,'k',3)]ls.append({"1","2","h"})#添加集合print(ls)[1,2,3,4,5,6,12,[1,'a'],{2:'a',3:'hj'},(1,'k',3),{'2','h','1'}]ls.append("123abc")#添加字符串print(ls)[1,2,3,4,5,6,12,[1,'a'],{2:'a',3:'hj'},(1,'k',3),{'2','h','1'},'123ab02,clear()方法说明:删除列表ls中的所有元素。语法:ls.clear()ls=[1,2,3,"4",5,"a"]ls.clear()print(ls)[]03,copy()方法说明:生成一个新列表,复制ls中的所有元素。语法:ls.copy()->list返回一个列表ls=[1,2,3,[4,5,6]]lt=ls.copy()#ltCopylsls.clear()中的所有元素#全部删除ls的元素,lt中的元素不会被删除。lk=ls#这不是复制,而是对链表ls的新引用,也就是添加别名,ls和lt指向同一个内存地址。print(id(ls),id(lk))print(lt)print(ls)04、count()方法说明:统计value元素在列表ls中出现的次数语法:ls.count(value)->integer返回一个Integer参数:value--要统计的值元素。ls=[1,2,3,5,4,5,5,5,5,"python"]ls.count(5)#统计5在列表中出现的次数ls5ls.count(0)#inthelistlsNo0element0ls.count("python")#统计"python"在列表中出现的次数ls.05.Extend()方法说明:在listls末尾添加一个listiterable。语法:ls.extend(iterable)->None无返回值参数:iterable--要添加的列表。可以是整个可迭代列表,也可以是可迭代列表的一部分。注意:extend()和append()的区别在于,extend()不会将列表或元组作为一个整体来对待,而是将它们包含的元素一个一个地添加到列表中ls=[1,2,"a",[4,5,"a"]]lt=[1,"abc","b",[1,2]]ls.extend(lt)#返回值为空,添加列表lt的元素到列表ls的末尾。print(ls.extend(lt))Noneprint(ls)[1,2,'a',[4,5,'a'],1,'abc','b',[1,2],1,'abc','b',[1,2]]print(lt)#列出lt元素不变[1,'abc','b',[1,2]]06,index()方法说明:list元素值在ls中第一次出现的位置。语法:ls.index(value,start,stop)->integer返回一个整数参数:value-要查找的元素。star-索引的起始位置。stop-索引的结束位置。ls=[1,2,3,"a",3,5,"a",5,[1,7,"b"]]ls.index("a")#返回列表中的"a"ls发生的地点。2ls.index("a",4)#索引起始位置为下标为4的元素,索引范围为3,5,'a',5,[1,7,'b'6ls.index("a",4,8)#索引起始位置为下标4的元素,结束位置为下标7的元素。索引范围3,5,'a',5607,insert()方法描述:在列表的索引位置添加元素对象。语法:ls.insert(index,object)index——元素对象插入列表ls的位置。objece-要添加的元素。可以是列表、元组、字典、集合、字符串等。ls=[1,2,"a",["a",5,8]]ls.insert(3,"b")#在列表的位置3插入元素“b”lsprint(ls)[1,2,'a','b','b',['a',5,8]]ls.insert(3,1)#插入列表中位置3的元素lssubscript1print(ls)[1,2,'a',1,'b','b',['a',5,8]]ls.insert(1,['a',5,8])#在列表中ls嵌套列表["a",5,8]print(ls)[1,['a',5,8],2,'a',1,'b','b',['a',5,8]]ls=[1,2,3]ls.insert(0,[1,2,3])#插入列表ls.insert(0,(1,2,3))#插入元素组ls.insert(0,{1:"a",2:"b"})#插入字典ls.insert(0,{1,2,3})#插入集合print(ls)[{1,2,3},{1:'a',2:'b'},(1,2,3),[1,2,3],1,208,pop()方法说明:列表ls中索引item元素为取出并从列表ls中删除该元素。如果省略索引,则默认删除列表的最后一个(结束)元素并返回。语法:ls.pop(index)->item返回被删除的item参数:index--待删除删除元素的下标序号。ls=[1,2,"a","y",[1,2,3],"b"]ls.pop(0)#取出下标为0的元素,从链表ls中删除。1print(ls)[2,'a','y',[1,2,3],'b']ls.pop()#默认取出列表ls的最后一个元素,删除。'b'print(ls)[2,'a','y',[1,2,3]09,remove()方法描述:删除列表ls中出现的第一个元素值。语法:ls.remove(value)->None返回值为空参数:value--要移除的元素。ls1=[1,2,"a",3,1,1,55,"a,1"]ls2=[1,2,"a",3,1,1,55,"a,1"]ls1.remove(1)#删除ls1中第一次出现的元素1ls2.remove("a")##删除ls2中第一次出现的元素"a"print(ls1.remove(1))#ReturnvalueEmptyprint(ls1)print(ls2)10、reverse()方法说明:反转列表ls中的元素。语法:ls.reverse()ls1=[1,2,3,4,5,6,7,8,9]ls1.reverse()#反转列表ls1并输出print(ls1)[9,8,7,6,5,4,3,2,1]ls2=[2,5,8,9,4,1,2,6,2,1,3]ls2.sort(reverse=True)#ls2.sort()默认情况下,列表ls2是按升序排列的。reverse=True将排序后的列表反转,reverse=False不反转print(ls2)[9,8,6,5,4,3,2,2,2,1,1]11,sort()方法说明:排序原列表中的元素ls表示改变原列表而不是返回一个列表语法:ls.sort(key=None)--无返回值,但会对列表中的元素进行排序。参数:key--可选参数,如果指定了该参数,将使用该参数的方法进行排序。reverse--可选参数,是否反向排序,默认为False。ls=[1,3,7,2,4,5,6]ls.sort()print(ls)[1,2,3,4,5,6,7]#当用户使用当你需要一个排序列表,同时保留原始列表时该怎么做错误方法1:ls=[1,3,7,2,4,5,6]y=ls.sort()print(y)Noneprint(ls)错误方法二:ls=[1,3,7,2,4,5,6]y=lsy.sort()print(ls)[1,2,3,4,5,6,7]print(y)[1,2,3,4,5,6,7]正确方式:ls=[1,3,7,2,4,5,6]y=ls[:]y.sort()print(ls)[1,3,7,2,4,5,6]#旧列表没变print(y)[1,2,3,4,5,6,7]#新列表变了Another获取副本的方法是使用sorted()函数ls=[1,3,7,2,4,5,6]y=sorted(ls)print(y)[1,2,3,4,5,6,7]print(ls)[1,3,7,2,4,5,6]#降序的方法没变,现在用sort或者sorted()再用reverse()倒序ls=[1,3,7,2,4,5,6]y=sorted(ls)y.reverse()print(y)[7,6,5,4,3,2,1]当然,sort方法也有两个参数,key和reverses=['a22112x','aaaba','xxvvv','5aa','wodesddddssd']ls.sort(key=len)print(ls)['5aa','aaaba','xxvvv','a22112x','wodesddddssd']按a的个数排序定义一个函数计算'a'的个数ls=['1a22112x','2aaaba','3xxvvv','4b5aa','5wodesddddssd']defa_fun(x):returnstr(x).count('a')ls.sort(key=a_fun)print(ls)['3xxvvv','5wodesddddssd','1a22112x','4b5aa','2aaaba']ls=[1,3,7,2,4,5,6]ls.sort(reverse=True)[7,6,5,4,3,2,1]
