Python實(shí)現(xiàn)棧的方法
本文實(shí)例講述了Python實(shí)現(xiàn)棧的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/env python #定義一個(gè)列表來模擬棧 stack = [] #進(jìn)棧,調(diào)用列表的append()函數(shù)加到列表的末尾,strip()沒有參數(shù)是去掉首尾的空格 def pushit(): stack.append(raw_input('Enter new string: ').strip()) #出棧,用到了pop()函數(shù) def popit(): if len(stack) == 0: print 'Cannot pop from an empty stack!' else: print 'Removed [', stack.pop(), ']' #編歷棧 def viewstack(): print stack #CMDs是字典的使用 CMDs = {'u': pushit, 'o': popit, 'v': viewstack} #pr為提示字符 def showmenu(): pr = """ p(U)sh p(O)p (V)iew (Q)uit Enter choice: """ while True: while True: try: #先用strip()去掉空格,再把第一個(gè)字符轉(zhuǎn)換成小寫的 choice = raw_input(pr).strip()[0].lower() except (EOFError, KeyboardInterrupt, IndexError): choice = 'q' print '\nYou picked: [%s]' % choice if choice not in 'uovq': print 'Invalid option, try again' else: break #CMDs[]根據(jù)輸入的choice從字典中對應(yīng)相應(yīng)的value,比如說輸入u,從字典中得到value為pushit,執(zhí)行pushit()進(jìn)棧操作 if choice == 'q': break CMDs[choice]() #判斷是否是從本文件進(jìn)入,而不是被調(diào)用 if __name__ == '__main__': showmenu()
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
- Python數(shù)據(jù)結(jié)構(gòu)之棧、隊(duì)列的實(shí)現(xiàn)代碼分享
- Python 數(shù)據(jù)結(jié)構(gòu)之堆棧實(shí)例代碼
- 棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)
- Python算法之棧(stack)的實(shí)現(xiàn)
- python實(shí)現(xiàn)堆棧與隊(duì)列的方法
- Python編程實(shí)現(xiàn)雙鏈表,棧,隊(duì)列及二叉樹的方法示例
- Python常見數(shù)據(jù)結(jié)構(gòu)詳解
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的建立實(shí)例
- Python實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之鏈表詳解
- Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例
相關(guān)文章
Python列表原理與用法詳解【創(chuàng)建、元素增加、刪除、訪問、計(jì)數(shù)、切片、遍歷等】
這篇文章主要介紹了Python列表原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python列表的創(chuàng)建、元素增加、刪除、訪問、計(jì)數(shù)、切片、遍歷、排序等各種常見操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-10-10python驗(yàn)證碼識別教程之滑動(dòng)驗(yàn)證碼
這篇文章主要給大家介紹了關(guān)于python驗(yàn)證碼識別教程之滑動(dòng)驗(yàn)證碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06在Python中使用mongoengine操作MongoDB教程
這篇文章主要介紹了在Python中使用mongoengine操作MongoDB教程,包括在Django下的一些使用技巧,需要的朋友可以參考下2015-04-04對pandas replace函數(shù)的使用方法小結(jié)
今天小編就為大家分享一篇對pandas replace函數(shù)的使用方法小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Windows下Anaconda和PyCharm的安裝與使用詳解
這篇文章主要介紹了Windows下Anaconda和PyCharm的安裝與使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Pytest+Request+Allure+Jenkins實(shí)現(xiàn)接口自動(dòng)化
這篇文章介紹了Pytest+Request+Allure+Jenkins實(shí)現(xiàn)接口自動(dòng)化的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06