a =["zhangshan","lis","ww","dfad","asdfd"]
""" 在python的使用過程中捡需,我們經(jīng)常會用到列表证芭,然而經(jīng)常會遇到疑惑唠亚,下面我將詳細(xì)介紹下列表使用方法区丑。
?一棘利、列表 列表經(jīng)常用到的功能使增橱野、刪、改和查功能善玫。
1. 增 增的常用的方法有兩種list.append水援、list.insert和list.extend() ? append方法 :在列表的末尾追加。 例子:列表a =["zhangshan","lis","ww","dfad","asdfd"] 茅郎,追加一個100蜗元,那么操作方法是 a.append(100),即如下所示:
?""" a.append(100)
?print (a) """
?? insert方法 :在指定位置追加系冗。
例子:列表a =["zhangshan","lis","ww","dfad","asdfd"]奕扣,第一個位置追加0,那么操作方法是a.insert(5,ygy),即如下所示:
?""" a.insert(5,'ygy') print (a) """
注:上述例子中a.insert(5,'ygy')毕谴,其中第一個5是指插入的列表元素位置成畦,因為列表元素下標(biāo)是從0開始的距芬,所以是插在第六個位置;第二個"ygy"是對應(yīng)位置下元素的值循帐。 ? extend方法:該方法是在列表的末尾添加iterable(可迭代)類型的元素框仔,可以用元祖或列表的形式表示,即如下所示: 例子:列表a =["zhangshan","lis","ww","dfad","asdfd"]拄养,依次采用增加列表元素的形式和元祖的形式追加元素离斩。
2. 刪 刪就是用del list[x]方法、list.pop(x)和list.remove(x)方法瘪匿,其中x為列表中某一個元素跛梗;而del list為刪除整個列表。
""" print (a) del a[2] a.pop(2) print (a) """
例子: ? 列表a =["zhangshan","lis","ww","dfad","asdfd"]棋弥,刪除列表中第一個元素核偿,那么操作方法是del a[0],即如下所示:
?? 列表a =["zhangshan","lis","ww","dfad","asdfd"]顽染,刪除列表中最后一個元素漾岳,可使用倒敘法:del a[-1],即如下所示: ? 刪除整個列表a =["zhangshan","lis","ww","dfad","asdfd"]粉寞,直接執(zhí)行del a即可尼荆,如果再使用列表a需要重新定義,即如下所示:
?""" b =["zhangshan","lis","ww","222","3333"] print (b) del b[1] del b[-1] print (b) """
?? list.pop(x)方法來操作刪除指定元素唧垦,如果移除不指定列表中的一個元素(默認(rèn)最后一個元素)捅儒,并且返回該元素的值。 如:列表a =["zhangshan","lis","ww","dfad","asdfd"]振亮,可以用list.pop(x)巧还,其中x為index索引值,即如下所示:
? list.remove(x)方法來操作刪除指定元素双炕,如果有重復(fù)項元素狞悲,默認(rèn)移除第一個元素值。
?""" print(a) a.remove("lis") print(a) """
3. 改 將預(yù)先定義好的列表中的值進(jìn)行替換妇斤。 例子: ? 列表a =["zhangshan","lis","ww","dfad","asdfd"],將第一個元素更改為0丹拯,即a[0]=0站超,即如下所示:
""" b[2]="李四" print(b) """
?? 列表a =["zhangshan","lis","ww","dfad","asdfd"],將最后一個元素更改為0乖酬,可使用倒敘法:a[-1]=0死相,即如下所示:
?""" a[-1]="00" print (a) """
4. 查 即根據(jù)列表下標(biāo)索引查詢。 例子: ? 查詢列表a =["zhangshan","lis","ww","dfad","asdfd"]中第一個元素的值咬像,即如下所示: ? 查詢列表a =["zhangshan","lis","ww","dfad","asdfd"]中最后一個元素的值算撮,即如下所示: ? 列表查詢之索引越界(因為列表下標(biāo)是從0開始的生宛,目前的例子中共計10個元素,第10個元素下標(biāo)是9肮柜,當(dāng)執(zhí)行a[10]時是第11個元素就越界了陷舅。)
5. 拓展 5.1 遍歷計算列表a = [1,1,2,3,4,1,1,10]中1的個數(shù) ? for循環(huán)實現(xiàn)
""" c = [1,1,2,3,4,1,1,10] count=0 for i in c: if i==1: count+=1 print (count) """
?? 高階函數(shù) """ e=[x for x in c if x==1] print (len(e)) """
?? 直接用內(nèi)建函數(shù) c.count(X) x為要查找的值 """ print (c.count(1)) """
5.2 將1-100的數(shù)用列表顯示出來 ?
用range函數(shù) """ d =range(1,101) print(d) # 使用for循環(huán) f=[] for i in range(1,101): f.append(i) print(f) #extend 將其它列表的內(nèi)容追加到另外一個列表末尾 f.extend(c) print(f) """
5.3 將列表中元素用生成以*分割的字符串 此算法用到了join函數(shù)即 "*".join(list) 例如:將列表a = ['1','2','3'] 變成 1*2*3 """ dd = ['1','2','3'] print("*".join(dd)) #clear()清空整個列表 dd.clear() print(dd) """ 注:列表a中的元素必須為字符串類型。 另:字符串也可以用join方法用指定符號分割审洞。
5.4 根據(jù)列表中的值算出下標(biāo)索引值 注:如果列表中有相同的值時莱睁,返回的下標(biāo)索引是最靠前的那一個。
5.5 列表的切片操作 列表的切片是指根據(jù)下標(biāo)索引的值進(jìn)行切片芒澜,主要有l(wèi)ist[x:]仰剿,lixt[x:-y],list[x:y:n],其中x為起始元素痴晦,y為倒敘數(shù)的元素值南吮,n為步長,如下:
5.6 列表的升序排列 用到的是sort方法誊酌,即list.sort() """ print(f[5:]) print(f[25:]) print(f[5:-1]) print(f[5:-2:8]) aa=[1,11,2,3,4,8,9,10,15] aa.sort() print(aa) """
5.7 列表的反向排序 用到的是reverse方法旨袒,即list.reverse() """ aa.reverse() print(aa) """
6. 補充知識點 ?list(seq):將元組轉(zhuǎn)換為列表 ?len(list):列表元素長度 ?max(list):返回列表元素最大值 ?min(list):返回列表元素最小值 ?cmp(list1, list2):比較兩個列表的元素 另:以上所有例子列表a中所有元素都可以用字符串表示,即: list = ["a","b","c","d","e"] """
#print(aa(seq))
?print(len(aa))
print(max(aa))
?print(min(aa))