了解python編程語言中有棧嗎?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
公司主營業(yè)務:成都網(wǎng)站設計、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出中牟免費做網(wǎng)站回饋大家。
python有棧嗎?
python是有棧的。棧(stacks)是一種只能通過訪問其一端來實現(xiàn)數(shù)據(jù)存儲與檢索的線性數(shù)據(jù)結(jié)構(gòu),具有后進先出(last in first out,LIFO)的特征。
對棧的兩種主要操作是將一個元素壓入棧和將一個元素彈出棧。
入棧使用push()
方法,出棧使用pop()
方法
另一個常用的操作是預覽棧頂?shù)脑?。pop()方法雖然可以訪問棧頂?shù)脑兀钦{(diào)用該方法后,棧頂元素也從棧中被永久性地刪除了。peek()方法則只返回棧頂元素,而不刪除它
為了記錄棧頂元素的位置,同時也為了標記哪里可以加入新元素,我們使用變量top,當向棧內(nèi)壓入元素時,該變量增大;從棧內(nèi)彈出元素時,該變量減小
push()、pop()和peek()是棧的3個主要方法,但是棧還有其他方法和屬性
stack通常的操作:
Stack() 建立一個空的棧對象 push() 把一個元素添加到棧的最頂層 pop() 刪除棧最頂層的元素,并返回這個元素 peek() 返回最頂層的元素,并不刪除它 isEmpty() 判斷棧是否為空 size() 返回棧中元素的個數(shù)
#-*- coding:?UTF-8 -*- __author__ = 'Administrator' #python的list對象模擬棧的實現(xiàn) class Stack: #模擬棧 def __init__(self): self.items = [] def isEmpty(self): return len(self.items)==0 def push(self,item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): if not self.isEmpty(): return self.items[len(self.items)-1] def size(self): return len(self.items) #創(chuàng)建一個棧對象,并加入操作方法 s = Stack() print(s.isEmpty()) s.push(4) s.push('DOG') print(s.peek()) s.push(True) print(s.size()) print(s.isEmpty()) s.push(8.4) print(s.pop()) print(s.pop()) print(s.size())
感謝各位的閱讀!看完上述內(nèi)容,你們對python編程語言中有棧嗎大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。