這篇文章將為大家詳細講解有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。