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ù)語(yǔ),意思是把一個(gè)對(duì)象添加到堆棧中。 刪除一個(gè)元素,可以把它"pop"出堆棧。 隊(duì)列: 隊(duì)列是一種先進(jìn)先出(FIFO)的數(shù)據(jù)類型。 新的元素通過(guò)"入隊(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都是全局變量 如果更改上述語(yǔ)句順序會(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-08pycharm?使用conda虛擬環(huán)境的詳細(xì)配置過(guò)程
這篇文章主要介紹了pycharm?使用conda虛擬環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Python啟動(dòng)UDP服務(wù),監(jiān)聽(tīng)并接收客戶端數(shù)據(jù)方式
這篇文章主要介紹了Python啟動(dòng)UDP服務(wù),監(jiān)聽(tīng)并接收客戶端數(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-06Pyqt實(shí)現(xiàn)無(wú)邊框窗口拖動(dòng)以及窗口大小改變
這篇文章主要為大家詳細(xì)介紹了Pyqt實(shí)現(xiàn)無(wú)邊框窗口拖動(dòng)及大小改變的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04基于keras中import keras.backend as K的含義說(shuō)明
這篇文章主要介紹了keras中import keras.backend as K的含義說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python OpenGL繪制一場(chǎng)煙花盛會(huì)
正值新春佳節(jié),小編今天為大家?guī)?lái)了用Python OpenGL繪制的一場(chǎng)煙花盛會(huì),文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02Python使用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-12Python BeautifulReport可視化報(bào)告代碼實(shí)例
這篇文章主要介紹了Python BeautifulReport可視化報(bào)告代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04