本文實例講述了Python列表list內建函數用法。分享給大家供大家參考,具體如下:
#coding=utf8'''''標準類型函數:cmp():進行序列比較的算法規則如下:-----------------------------------------------------------------------------1. 對兩個列表的元素進行比較2. 如果比較的元素是同類型的,則比較其值,返回結果3. 如果兩個元素的不是同一種類型,則檢查它們是否是數字 a. 如果是數字,執行必要的數字強制類型轉換,然后比較。 b. 如果有一方的元素是數字,則另一方的元素"大"(數字是"最小的") c. 否則,通過類型名字的字母順序進行比較4. 如果有一個列表首先到達末尾,則另一個長一點的列表"大"5. 如果列表長度相同且所有元素都是相等的,那么兩個序列就是相等的,返回一個0。------------------------------------------------------------------------------len():返回字符串的長度,就是字符串包含的字符個數。對于列表或者元組來說,它會返回列表或者元組的元素個數。max()和min():對于字符串操作,是獲取字符串中最大和最小字符,對于列表和元組,獲取列表和元組中最大和最小元素。混合對象的結構越復雜返回的結構準確性就越差。enumerate()與zip():前者是輸出列表的index和元素值;后者等長的兩個列表對應為的元素組合成一個元組,生成一個元組列表。sum()和reduce():對數字列表進行求和。list()與tuple()接受可迭代對象作為參數,并通過淺拷貝數據來創建一個新的列表或元組。如果不考慮range()函數,python中沒有特定用于列表的內建函數。range()函數接受一個數值作為輸入,輸出一個符合標準的列表。列表類型內建函數列表:--------------------------------------------------------------------------------list.append(obj)-------------------向列表中添加一個對象objlist.count(obj)---------------------返回一個對象obj在列表中出現的次數list.extend(seq)--------------------把序列seq的內容添加到列表中list.index(obj,i=0,j=len(list))------返回list[k]==obj的k值,并且k的范圍在 i<=k<J;否則引發ValueError異常。list.insert(index,obj)---------------在索引量為index的位置插入對象obj。list.pop(index=-1)-----------------刪除并返回指定位置的對象,默認是最后一個對象list.remove(obj)-------------------從列表中刪除對象objlist.reverse()-----------------------對列表進行倒序list.sort(func=None,key=None,reverse=False)--------以指定的方式排序列表中的成員,如果func和key參數指定, 則按照指定的方式比較各個元素,如果reverser標志被設置為True, 則列表以反序排列。--------------------------------------------------------------------------------'''print "--------------調用cmp()函數-----------------"#從第一個元素開始比較#如果元素不相等,誰大列表就大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#順序一致才能完全相等#元素順序影響比較結果list1=[1,2,3,4,5,6,7]list2=[1,2,3,4,5,6,7]if cmp(list1,list2)==0: print list1#元素個數不一致#已有元素相等誰的元素多誰大list1=[1,2,3,4,5]list2=[1,2,3,4,5,6,7]if cmp(list1,list2)<0: print list1print "-----------------------------------------------"printprint "--------------調用len()函數-----------------"#獲取元素列表長度list1=["baby","godness",123456]print len(list1)print "-----------------------------------------------"printprint "--------------調用max()與min()、sum()函數-----------------"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 "-----------------------------------------------"printprint "--------------調用enumerate()與zip()函數-----------------"list1=["zippo","sunny","windy","one","two","god","witch"]list2=[1,2,3,4,5,6,7]#使用enumerate函數輸出元素索引和元素值for ind,var in enumerate(list1): print ind,"------->",var#等長的兩個列表對應為的元素組合成一個元組,生成一個元組列表for l1,l2 in zip(list1,list2): print "(",l1,l2,")"print "-----------------------------------------------"printprint "--------------調用list()與tuple()函數-----------------"list1=["zippo","sunny","windy","one","two","god","witch"]list2=[1,2,3,4,5,6,7]#調用list()函數print type(list(list2))#調用tuple()函數print type(tuple(list1))print "-----------------------------------------------"printprint "--------------列表類型內建函數-------------------------"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#調用append()函數list2.append(8)print "add 8 to list2 with append():",list2#調用count()函數print "The 3 appear times of list3:",list3.count(3)print "The windy appear times of list1:",list1.count("windy")#調用extend()函數list1.extend(list2)print "add list2 to list1:",list1list2.extend([12,1,6,45])print "add [12,1,6,45] to list2:",list2#調用index()函數#設置查找范圍是從第一個元素到最后一個元素print "the index of one element in list1:",list1.index("one")#設置查找范圍是從第3個元素到最后一個元素print " the index of god element in list1 :",list1.index("god",3)#設置查找范圍是從第3個元素到第五個元素print " the index of two element in list1 :",list1.index("two",3,5)#要查找的index不在所需范圍內#拋出ValueError異常try: print list1.index("two",5)except ValueError,v: print "The index is not range:",v#調用insert()函數#在指定位置插入對象#指定位置之后的函數整體后移一位list2.insert(1,[123,45])print "insert [123,45] into list2 at index=1:",list2list2.insert(0,"hello")print "insert hello into list2 at index=0:",list2#調用pop()函數#刪除并返回指定位置的對象print "before calling pop(),the list2:",list2#默認是最后一個對象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#調用remove()#從列表中刪除指定對象print "before calling remove(),the list3:",list3#刪除list3從第一位到最后一位,第一次出現的7list3.remove(7)print "after calling remove(),the list3:",list3#調用reverse()對列表逆序print "before calling reverse():",list2list2.reverse()print "after calling reverse():",list2#調用sort()隊列排序#不帶有參數list2.sort()print "calling sort() without parameter:",list2#對列表逆序list2.sort(reverse=True)print "calling sort() with parameter reverse=True:",list2print "---------------------------------------------------------"print運行結果:

希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答