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è)對象添加到堆棧中。
刪除一個(gè)元素,可以把它"pop"出堆棧。
隊(duì)列:
隊(duì)列是一種先進(jìn)先出(FIFO)的數(shù)據(jù)類型。
新的元素通過"入隊(duì)"的方式添加進(jìn)隊(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都是全局變量
如果更改上述語句順序會獲取不到想要的結(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)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用Python進(jìn)行體育競技分析(預(yù)測球隊(duì)成績)
這篇文章主要介紹了用Python進(jìn)行體育競技分析(預(yù)測球隊(duì)成績),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
WxPython開發(fā)之實(shí)現(xiàn)表格數(shù)據(jù)導(dǎo)出到Excel并打開
在 Python 中使用 wxPython 導(dǎo)出實(shí)體類列表數(shù)據(jù)到 Excel,通??梢越柚?nbsp;openpyxl 或 pandas 庫來實(shí)現(xiàn),下面就跟隨小編一起來了解下具體操作吧2024-12-12
python實(shí)現(xiàn)kmp算法的實(shí)例代碼
這篇文章主要介紹了python實(shí)現(xiàn)kmp算法的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
100?個(gè)?Python?小例子(練習(xí)題四)
這篇文章主要給大家分享100?個(gè)?Python?小例子,前文分享了一二三,本文的四十最后一篇了,這篇就把100道python小練習(xí)全分享完了,感興趣的小伙伴也可以去練習(xí)前幾期內(nèi)容,洗碗給這幾篇文章給你的學(xué)習(xí)帶來幫助2022-01-01
Python的Tornado框架的異步任務(wù)與AsyncHTTPClient
Tornado的奧義就在于異步處理來提高單線程的Python程序執(zhí)行性能,這里我們就來詳解Python的Tornado框架的異步任務(wù)與AsyncHTTPClient,需要的朋友可以參考下2016-06-06
python如何在pygame中設(shè)置字體并顯示中文詳解
再簡單的游戲界面中均涉及文字處理,下面這篇文章主要給大家介紹了關(guān)于python如何在pygame中設(shè)置字體并顯示中文的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
Python圖像處理庫PIL的ImageEnhance模塊使用介紹
這篇文章主要介紹了Python圖像處理庫PIL的ImageEnhance模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

