Python列表list內(nèi)建函數(shù)用法實例分析【insert、remove、index、pop等】
本文實例講述了Python列表list內(nèi)建函數(shù)用法。分享給大家供大家參考,具體如下:
#coding=utf8 ''''' 標(biāo)準(zhǔn)類型函數(shù): cmp():進(jìn)行序列比較的算法規(guī)則如下: ----------------------------------------------------------------------------- 1. 對兩個列表的元素進(jìn)行比較 2. 如果比較的元素是同類型的,則比較其值,返回結(jié)果 3. 如果兩個元素的不是同一種類型,則檢查它們是否是數(shù)字 a. 如果是數(shù)字,執(zhí)行必要的數(shù)字強(qiáng)制類型轉(zhuǎn)換,然后比較。 b. 如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的") c. 否則,通過類型名字的字母順序進(jìn)行比較 4. 如果有一個列表首先到達(dá)末尾,則另一個長一點(diǎn)的列表"大" 5. 如果列表長度相同且所有元素都是相等的,那么兩個序列就是相等的,返回一個0。 ------------------------------------------------------------------------------ len():返回字符串的長度,就是字符串包含的字符個數(shù)。 對于列表或者元組來說,它會返回列表或者元組的元素個數(shù)。 max()和min():對于字符串操作,是獲取字符串中最大和最小字符, 對于列表和元組,獲取列表和元組中最大和最小元素。 混合對象的結(jié)構(gòu)越復(fù)雜返回的結(jié)構(gòu)準(zhǔn)確性就越差。 enumerate()與zip():前者是輸出列表的index和元素值; 后者等長的兩個列表對應(yīng)為的元素組合成一個元組,生成一個元組列表。 sum()和reduce():對數(shù)字列表進(jìn)行求和。 list()與tuple()接受可迭代對象作為參數(shù),并通過淺拷貝數(shù)據(jù)來創(chuàng)建一個新的列表或元組。 如果不考慮range()函數(shù),python中沒有特定用于列表的內(nèi)建函數(shù)。 range()函數(shù)接受一個數(shù)值作為輸入,輸出一個符合標(biāo)準(zhǔn)的列表。 列表類型內(nèi)建函數(shù)列表: -------------------------------------------------------------------------------- list.append(obj)-------------------向列表中添加一個對象obj list.count(obj)---------------------返回一個對象obj在列表中出現(xiàn)的次數(shù) list.extend(seq)--------------------把序列seq的內(nèi)容添加到列表中 list.index(obj,i=0,j=len(list))------返回list[k]==obj的k值,并且k的范圍在 i<=k<J;否則引發(fā)ValueError異常。 list.insert(index,obj)---------------在索引量為index的位置插入對象obj。 list.pop(index=-1)-----------------刪除并返回指定位置的對象,默認(rèn)是最后一個對象 list.remove(obj)-------------------從列表中刪除對象obj list.reverse()-----------------------對列表進(jìn)行倒序 list.sort(func=None, key=None,reverse=False)--------以指定的方式排序列表中的成員,如果func和key參數(shù)指定, 則按照指定的方式比較各個元素,如果reverser標(biāo)志被設(shè)置為True, 則列表以反序排列。 -------------------------------------------------------------------------------- ''' print "--------------調(diào)用cmp()函數(shù)-----------------" #從第一個元素開始比較 #如果元素不相等,誰大列表就大 list1=["abcdef","sunny","windy"] list2=["baby","godness",123456] if cmp(list1,list2)<0: print list1 #從第一個元素開始比較 #如果元素不相等,誰大列表就大 list1=["zippo","sunny","windy"] list2=["baby","godness",123456] if cmp(list1,list2)>0: print list1 #順序一致才能完全相等 #元素順序影響比較結(jié)果 list1=[1,2,3,4,5,6,7] list2=[1,2,3,4,5,6,7] if cmp(list1,list2)==0: print list1 #元素個數(shù)不一致 #已有元素相等誰的元素多誰大 list1=[1,2,3,4,5] list2=[1,2,3,4,5,6,7] if cmp(list1,list2)<0: print list1 print "-----------------------------------------------" print print "--------------調(diào)用len()函數(shù)-----------------" #獲取元素列表長度 list1=["baby","godness",123456] print len(list1) print "-----------------------------------------------" print print "--------------調(diào)用max()與min()、sum()函數(shù)-----------------" list1=["zippo","sunny","windy"] list2=[1,2,3,4,5,6,7] print "list2 max:",max(list2),"\t","list2 min:",min(list2) print "list1 max:",max(list1),"\t","list1 min:",min(list1) print "The list2 sum:",sum(list2) print "-----------------------------------------------" print print "--------------調(diào)用enumerate()與zip()函數(shù)-----------------" list1=["zippo","sunny","windy","one","two","god","witch"] list2=[1,2,3,4,5,6,7] #使用enumerate函數(shù)輸出元素索引和元素值 for ind,var in enumerate(list1): print ind,"------->",var #等長的兩個列表對應(yīng)為的元素組合成一個元組,生成一個元組列表 for l1,l2 in zip(list1,list2): print "(",l1,l2,")" print "-----------------------------------------------" print print "--------------調(diào)用list()與tuple()函數(shù)-----------------" list1=["zippo","sunny","windy","one","two","god","witch"] list2=[1,2,3,4,5,6,7] #調(diào)用list()函數(shù) print type(list(list2)) #調(diào)用tuple()函數(shù) print type(tuple(list1)) print "-----------------------------------------------" print print "--------------列表類型內(nèi)建函數(shù)-------------------------" list1=["zippo","sunny","windy","one","two","god","witch"] list2=[1,2,3,4,5,6,7] list3=list(list2*3) print "copy list2 3 times to list3:",list3 #調(diào)用append()函數(shù) list2.append(8) print "add 8 to list2 with append():",list2 #調(diào)用count()函數(shù) print "The 3 appear times of list3:",list3.count(3) print "The windy appear times of list1:",list1.count("windy") #調(diào)用extend()函數(shù) list1.extend(list2) print "add list2 to list1:",list1 list2.extend([12,1,6,45]) print "add [12,1,6,45] to list2:",list2 #調(diào)用index()函數(shù) #設(shè)置查找范圍是從第一個元素到最后一個元素 print "the index of one element in list1:",list1.index("one") #設(shè)置查找范圍是從第3個元素到最后一個元素 print " the index of god element in list1 :",list1.index("god",3) #設(shè)置查找范圍是從第3個元素到第五個元素 print " the index of two element in list1 :",list1.index("two",3,5) #要查找的index不在所需范圍內(nèi) #拋出ValueError異常 try: print list1.index("two",5) except ValueError,v: print "The index is not range:",v #調(diào)用insert()函數(shù) #在指定位置插入對象 #指定位置之后的函數(shù)整體后移一位 list2.insert(1,[123,45]) print "insert [123,45] into list2 at index=1:",list2 list2.insert(0,"hello") print "insert hello into list2 at index=0:",list2 #調(diào)用pop()函數(shù) #刪除并返回指定位置的對象 print "before calling pop(),the list2:",list2 #默認(rèn)是最后一個對象 print "the last element of list2:",list2.pop() print "after calling pop(),the list2:",list2 #刪除并返回第三位置的元素 print "the third element of list2:",list2.pop(2) print "after calling pop(),the list2:",list2 #調(diào)用remove() #從列表中刪除指定對象 print "before calling remove(),the list3:",list3 #刪除list3從第一位到最后一位,第一次出現(xiàn)的7 list3.remove(7) print "after calling remove(),the list3:",list3 #調(diào)用reverse()對列表逆序 print "before calling reverse():",list2 list2.reverse() print "after calling reverse():",list2 #調(diào)用sort()隊列排序 #不帶有參數(shù) list2.sort() print "calling sort() without parameter:",list2 #對列表逆序 list2.sort(reverse=True) print "calling sort() with parameter reverse=True:",list2 print "---------------------------------------------------------" print
運(yùn)行結(jié)果:
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
OpenCV+Python識別車牌和字符分割的實現(xiàn)
這篇文章主要介紹了OpenCV+Python識別車牌和字符分割的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-014種非常實用的python內(nèi)置數(shù)據(jù)結(jié)構(gòu)
這篇文章主要介紹了4種非常實用的python內(nèi)置數(shù)據(jù)結(jié)構(gòu),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04python實現(xiàn)遞歸查找某個路徑下所有文件中的中文字符
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)遞歸查找某個路徑下所有文件中的中文字符,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08詳解Python進(jìn)行數(shù)據(jù)相關(guān)性分析的三種方式
相關(guān)系數(shù)量化數(shù)據(jù)集的變量或特征之間的關(guān)聯(lián)。這些統(tǒng)計數(shù)據(jù)對科學(xué)和技術(shù)非常重要,Python?有很好的工具可以用來計算它們。SciPy、NumPy?和Pandas相關(guān)方法以及數(shù)據(jù)可視化功能,感興趣的可以了解一下2022-04-04Jupyter導(dǎo)入自定義模塊及導(dǎo)入后TypeError錯誤問題及解決
這篇文章主要介紹了Jupyter導(dǎo)入自定義模塊及導(dǎo)入后TypeError錯誤問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01