Python3 7用list模擬堆疊的資料結構

2021-08-24 23:42:12 字數 2549 閱讀 6730

列表有容器和可變的特性,這使得它非常靈活,可以用它來構建其他的資料結構如堆疊。

1.堆疊

堆疊是乙個後進先出(lifo)的資料結構,其工作方式就像自助餐廳裡面用於放盤子的彈簧支架。把盤子想像成物件,第乙個離開堆疊的是最後放上的那個。「push」經常表示的把乙個物件壓入堆疊中,「pop」則是將堆疊最上面的元素彈出(移除)。其示意圖:

2.函式3.程式

#用列表來模擬堆疊-用於儲存和取回輸入的字串

stack =

defpush_stack

():def

pop_stack

():if len(stack) == 0:

print('cannot pop from an empty stack!')

else:

print('remove [',stack.pop(),']')

defviewstack

(): print(stack)

cmds = #

defshowmenu

(): pr = """

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: """

while

true:

while

true:

try:

choice = 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

if choice == 'q':

break

cmds[choice]()

showmenu()

4.結果

***************==== restart: d:/pythonspace/d6_04_stack.py ***************====

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: u

you picked: [u]

enter new sring:kyrie

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: v

you picked: [v]

['kyrie']

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: u

you picked: [u]

enter new sring:is

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: u

you picked: [u]

enter new sring:mvp

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: v

you picked: [v]

['kyrie', 'is', 'mvp']

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: o

you picked: [o]

remove [ mvp ]

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: v

you picked: [v]

['kyrie', 'is']

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: o

you picked: [o]

remove [ is ]

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: v

you picked: [v]

['kyrie']

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: q

you picked: [q]

Python 3 7 列表 list 學習

列表 list 是 python 中常用的序列,它是 python 的主力序列,它是可修改的。定義列表list1 list2 hello python list3 hello python 2020 python 是完全動態資料型別,同乙個列表元素型別可以是多種的 print list2 hello...

Python3 7安裝部署

教你如何在 centos 7 下編譯安裝 python 3.7 與 python 2.7.5 共存。環境 centos 7.6 x64 一 安裝python 3.7 wget 如果沒有wget命令,可以使用命令安裝 yum y install wget 安裝依賴包,避免安裝過程 現的 zipimpo...

linux環境安裝python3 7

我用的是linux centos 6 1 首先安裝依賴包,確認gcc是否安裝,可以用檢視 gcc version 2.如果沒有則進行安裝,需要sudo許可權 yum y install gcc 3.安裝其他依賴包 可以不安裝,但是可能會安裝過程中報錯 yum y install zlib devel...