Python基于list的append和pop方法實(shí)現(xiàn)堆棧與隊(duì)列功能示例
本文實(shí)例講述了Python基于list的append和pop方法實(shí)現(xiàn)堆棧與隊(duì)列功能。分享給大家供大家參考,具體如下:
#coding=utf8
'''''
堆棧:
堆棧是一個(gè)后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu)。
在棧上"push"元素是個(gè)常用術(shù)語,意思是把一個(gè)對(duì)象添加到堆棧中。
刪除一個(gè)元素,可以把它"pop"出堆棧。
隊(duì)列:
隊(duì)列是一種先進(jìn)先出(FIFO)的數(shù)據(jù)類型。
新的元素通過"入隊(duì)"的方式添加進(jìn)隊(duì)列的末尾,
"出對(duì)"就是從隊(duì)列的頭部刪除。
'''
#創(chuàng)建列表
def creatList():
initList=[]
try:
while True:
#從鍵上輸入元素
inputItem=raw_input(u"Enter item(輸入quit結(jié)束輸入):")
#當(dāng)輸入字符不是quit,把元素加入列表
#當(dāng)輸入字符是quit,結(jié)束輸入
if inputItem!="quit":
initList.append(inputItem.strip())
else:
break
#返回輸入列表
return initList
except Exception,e:
print "Create List Error:",e
#刪除列表的第一個(gè)元素并返回刪除元素
def popTheFirst(List):
try:
#判斷列表中是否存在元素
#如果存在元素,刪除并返回第一個(gè)元素
#如果不存在,給出提示信息
if len(List)>0:
return List.pop(0)
else:
print "The list is empty..."
except Exception,e:
print "pop the first item Error:",e
#刪除列表的最后元素并返回刪除元素
def popTheLast(List):
try:
#判斷列表中是否存在元素
#如果存在元素,刪除并返回最后元素
#如果不存在,給出提示信息
if len(List)>0:
#pop函數(shù)默認(rèn)刪除最后一個(gè)元素
return List.pop()
else:
print "The list is empty..."
except Exception,e:
print "pop the last item Error:",e
#調(diào)用creatList函數(shù)創(chuàng)建表
listOne=creatList()
#輸出創(chuàng)建表信息
print "The init list :",listOne
#調(diào)用popTheFirst函數(shù)刪除并返回第一個(gè)元素
theFirst=popTheFirst(listOne)
#輸出當(dāng)前表的第一個(gè)元素
print "The first item of list:",theFirst
#調(diào)用popTheFirst函數(shù)刪除并返回最后一個(gè)元素
theLast=popTheLast(listOne)
#輸出當(dāng)前表的最后一個(gè)元素元素
print "The last item of list:",theLast
'''''
這里的listOne、theFirst、theLast都是全局變量
如果更改上述語句順序會(huì)獲取不到想要的結(jié)果。
'''
運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std的區(qū)別
Torch自稱為神經(jīng)網(wǎng)絡(luò)中的numpy,它會(huì)將torch產(chǎn)生的tensor放在GPU中加速運(yùn)算,就像numpy會(huì)把a(bǔ)rray放在CPU中加速運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Python?Numpy計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-08-08
pycharm?使用conda虛擬環(huán)境的詳細(xì)配置過程
這篇文章主要介紹了pycharm?使用conda虛擬環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Python啟動(dòng)UDP服務(wù),監(jiān)聽并接收客戶端數(shù)據(jù)方式
這篇文章主要介紹了Python啟動(dòng)UDP服務(wù),監(jiān)聽并接收客戶端數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程
這篇文章主要介紹了在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程,matplotlib基于Numpy進(jìn)行科學(xué)計(jì)算上的延伸,需要的朋友可以參考下2015-06-06
Pyqt實(shí)現(xiàn)無邊框窗口拖動(dòng)以及窗口大小改變
這篇文章主要為大家詳細(xì)介紹了Pyqt實(shí)現(xiàn)無邊框窗口拖動(dòng)及大小改變的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
基于keras中import keras.backend as K的含義說明
這篇文章主要介紹了keras中import keras.backend as K的含義說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python OpenGL繪制一場(chǎng)煙花盛會(huì)
正值新春佳節(jié),小編今天為大家?guī)砹擞肞ython OpenGL繪制的一場(chǎng)煙花盛會(huì),文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02
Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容操作代碼
這篇文章主要介紹了Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容,基本導(dǎo)入是在Python中使用pandas導(dǎo)入.xlsx文件的方法是read_excel(),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Python BeautifulReport可視化報(bào)告代碼實(shí)例
這篇文章主要介紹了Python BeautifulReport可視化報(bào)告代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

