了解python編程語言中有棧嗎?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供巢湖網站建設、巢湖做網站、巢湖網站設計、巢湖網站制作等企業(yè)網站建設、網頁設計與制作、巢湖企業(yè)網站模板建站服務,十余年巢湖做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。python有棧嗎?
python是有棧的。棧(stacks)是一種只能通過訪問其一端來實現(xiàn)數據存儲與檢索的線性數據結構,具有后進先出(last in first out,LIFO)的特征。
對棧的兩種主要操作是將一個元素壓入棧和將一個元素彈出棧。
入棧使用push()
方法,出棧使用pop()
方法
另一個常用的操作是預覽棧頂的元素。pop()方法雖然可以訪問棧頂的元素,但是調用該方法后,棧頂元素也從棧中被永久性地刪除了。peek()方法則只返回棧頂元素,而不刪除它
為了記錄棧頂元素的位置,同時也為了標記哪里可以加入新元素,我們使用變量top,當向棧內壓入元素時,該變量增大;從棧內彈出元素時,該變量減小
push()、pop()和peek()是棧的3個主要方法,但是棧還有其他方法和屬性
stack通常的操作:
Stack() 建立一個空的棧對象 push() 把一個元素添加到棧的最頂層 pop() 刪除棧最頂層的元素,并返回這個元素 peek() 返回最頂層的元素,并不刪除它 isEmpty() 判斷棧是否為空 size() 返回棧中元素的個數
#-*- 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())
感謝各位的閱讀!看完上述內容,你們對python編程語言中有棧嗎大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。