您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python棧支持的操作示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
1、說明
Stack()創建一個空棧。不需要參數,會回到空棧;
s.isEmpty()檢查棧是否為空,無需參數,并返回布爾值;
s.push(item)添加一個元素。它需要一個參數item,沒有返回值;
s.peek()返回棧頂部的元素,但不能移除。無需參數或修改棧內容;
s.size()返回棧中元素的數量。無需參數,可返回整數;
s.pop():移除棧頂部的元素。不需要參數,但會返回頂部元素,修改棧的內容;
2、實例
class Stack(): """ 棧方式1:假設列表的尾部是棧的頂端。當棧增長時(即進行push操作), 新的元素會被添加到列表的尾部。pop操作同樣會修改這一端。 將允許進行插入、刪除的一端稱為棧頂,另一端稱為棧底。 """ # 創建一個空棧 def __init__(self): self.__list = [] # 檢查棧是否為空:判斷是否等于一個空列表 def isEmpty(self): return self.__list == [] # return not self.__list # 統計棧的長度 def size(self): return len(self.__list) # 返回棧頂元素 def peek(self): # return self.__list[len(self.__list)-1] if self.__list: return self.__list[-1] else: return None # 入棧(把列表尾部假設為棧頂) def push(self, item): self.__list.append(item) # 出棧 def pop(self): return self.__list.pop() class Stack2: """ 棧方式2:選擇將列表頭部作為頂端,必須用pop方法和insert方法顯式地訪問下標為0的元素,即列表中的第一個元素; """ def __init__(self): self.__list = [] def isEmpty(self): """判斷棧是否為空""" # return self.__list == [] return not self.__list def size(self): """返回棧的元素個數""" return len(self.__list) # 入棧 def push(self, item): """添加一個新的元素item到棧頂""" self.__list.insert(0, item) # 出棧 def pop(self): return self.__list.pop(0) def peek(self): """返回棧頂元素""" if self.__list: return self.__list[0] else: return None if __name__ == '__main__': s = Stack2() print(s.isEmpty()) s.push('a') s.push('b') s.push('小明') s.push('c') print(s.size()) print(s.pop()) print(s.pop()) print(s.pop()) print(s.pop())
關于“python棧支持的操作示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。