Python列表list內(nèi)建函數(shù)用法實(shí)例分析【insert、remove、index、pop等】
本文實(shí)例講述了Python列表list內(nèi)建函數(shù)用法。分享給大家供大家參考,具體如下:
#coding=utf8
'''''
標(biāo)準(zhǔn)類型函數(shù):
cmp():進(jìn)行序列比較的算法規(guī)則如下:
-----------------------------------------------------------------------------
1. 對(duì)兩個(gè)列表的元素進(jìn)行比較
2. 如果比較的元素是同類型的,則比較其值,返回結(jié)果
3. 如果兩個(gè)元素的不是同一種類型,則檢查它們是否是數(shù)字
a. 如果是數(shù)字,執(zhí)行必要的數(shù)字強(qiáng)制類型轉(zhuǎn)換,然后比較。
b. 如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的")
c. 否則,通過類型名字的字母順序進(jìn)行比較
4. 如果有一個(gè)列表首先到達(dá)末尾,則另一個(gè)長(zhǎng)一點(diǎn)的列表"大"
5. 如果列表長(zhǎng)度相同且所有元素都是相等的,那么兩個(gè)序列就是相等的,返回一個(gè)0。
------------------------------------------------------------------------------
len():返回字符串的長(zhǎng)度,就是字符串包含的字符個(gè)數(shù)。
對(duì)于列表或者元組來說,它會(huì)返回列表或者元組的元素個(gè)數(shù)。
max()和min():對(duì)于字符串操作,是獲取字符串中最大和最小字符,
對(duì)于列表和元組,獲取列表和元組中最大和最小元素。
混合對(duì)象的結(jié)構(gòu)越復(fù)雜返回的結(jié)構(gòu)準(zhǔn)確性就越差。
enumerate()與zip():前者是輸出列表的index和元素值;
后者等長(zhǎng)的兩個(gè)列表對(duì)應(yīng)為的元素組合成一個(gè)元組,生成一個(gè)元組列表。
sum()和reduce():對(duì)數(shù)字列表進(jìn)行求和。
list()與tuple()接受可迭代對(duì)象作為參數(shù),并通過淺拷貝數(shù)據(jù)來創(chuàng)建一個(gè)新的列表或元組。
如果不考慮range()函數(shù),python中沒有特定用于列表的內(nèi)建函數(shù)。
range()函數(shù)接受一個(gè)數(shù)值作為輸入,輸出一個(gè)符合標(biāo)準(zhǔn)的列表。
列表類型內(nèi)建函數(shù)列表:
--------------------------------------------------------------------------------
list.append(obj)-------------------向列表中添加一個(gè)對(duì)象obj
list.count(obj)---------------------返回一個(gè)對(duì)象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的位置插入對(duì)象obj。
list.pop(index=-1)-----------------刪除并返回指定位置的對(duì)象,默認(rèn)是最后一個(gè)對(duì)象
list.remove(obj)-------------------從列表中刪除對(duì)象obj
list.reverse()-----------------------對(duì)列表進(jìn)行倒序
list.sort(func=None,
key=None,reverse=False)--------以指定的方式排序列表中的成員,如果func和key參數(shù)指定,
則按照指定的方式比較各個(gè)元素,如果reverser標(biāo)志被設(shè)置為True,
則列表以反序排列。
--------------------------------------------------------------------------------
'''
print "--------------調(diào)用cmp()函數(shù)-----------------"
#從第一個(gè)元素開始比較
#如果元素不相等,誰大列表就大
list1=["abcdef","sunny","windy"]
list2=["baby","godness",123456]
if cmp(list1,list2)<0:
print list1
#從第一個(gè)元素開始比較
#如果元素不相等,誰大列表就大
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
#元素個(gè)數(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ù)-----------------"
#獲取元素列表長(zhǎng)度
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
#等長(zhǎng)的兩個(gè)列表對(duì)應(yīng)為的元素組合成一個(gè)元組,生成一個(gè)元組列表
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è)置查找范圍是從第一個(gè)元素到最后一個(gè)元素
print "the index of one element in list1:",list1.index("one")
#設(shè)置查找范圍是從第3個(gè)元素到最后一個(gè)元素
print " the index of god element in list1 :",list1.index("god",3)
#設(shè)置查找范圍是從第3個(gè)元素到第五個(gè)元素
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ù)
#在指定位置插入對(duì)象
#指定位置之后的函數(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ù)
#刪除并返回指定位置的對(duì)象
print "before calling pop(),the list2:",list2
#默認(rèn)是最后一個(gè)對(duì)象
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()
#從列表中刪除指定對(duì)象
print "before calling remove(),the list3:",list3
#刪除list3從第一位到最后一位,第一次出現(xiàn)的7
list3.remove(7)
print "after calling remove(),the list3:",list3
#調(diào)用reverse()對(duì)列表逆序
print "before calling reverse():",list2
list2.reverse()
print "after calling reverse():",list2
#調(diào)用sort()隊(duì)列排序
#不帶有參數(shù)
list2.sort()
print "calling sort() without parameter:",list2
#對(duì)列表逆序
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文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
解決numpy和torch數(shù)據(jù)類型轉(zhuǎn)化的問題
這篇文章主要介紹了解決numpy和torch數(shù)據(jù)類型轉(zhuǎn)化的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Pygame實(shí)戰(zhàn)練習(xí)之推箱子游戲
推箱子想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡(jiǎn)單的推箱子小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09
Python筆記之a(chǎn) = [0]*x格式的含義及說明
這篇文章主要介紹了Python筆記之a(chǎn) = [0]*x格式的含義及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
ansible作為python模塊庫使用的方法實(shí)例
ansible是一個(gè)python package,是個(gè)完全的unpack and play軟件,對(duì)客戶端唯一的要求是有ssh有python,并且裝了python-simplejson包,部署上簡(jiǎn)單到發(fā)指。下面這篇文章就給大家主要介紹了ansible作為python模塊庫使用的方法實(shí)例,需要的朋友可以參考借鑒。2017-01-01
將Python代碼打包成.exe可執(zhí)行文件的完整步驟
這篇文章主要給大家介紹了關(guān)于如何將Python代碼打包成.exe可執(zhí)行文件的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Python獲取當(dāng)前路徑實(shí)現(xiàn)代碼
這篇文章主要介紹了 Python獲取當(dāng)前路徑實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解
問起面向?qū)ο蟮娜筇匦?,幾乎每個(gè)人都能對(duì)答如流:封裝、繼承、多態(tài)。今天我們就要來說一說Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型,感興趣的朋友跟隨小編一起看看吧2019-05-05

