栈的定义:栈是一个数据集合,我们可以吧它理解为是一个只能在一端进行插入或者删除的列表。
栈的特点:先进后出
- Stack() 建立一个空的栈对象
- push() 吧一个元素添加到栈的最顶层
- pop() 删除栈最顶层的元素,并返回这个元素
- gettop() 取栈顶元素
- isEmpty() 判断栈是否为空
- size() 返回栈中元素的个数
- peek() 返回最顶层的元素,并不删除它
class Stack:
'''模拟栈'''
def __init__(self):
self.items = []
def isEmpty(self):
'''判断是否栈空'''
return len(self.items) ==0 #返回是布尔值,不成立就返回False,成立就返回True
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)
# ==========对自定义栈的使用==================
s = Stack()
print(s.isEmpty()) #True
s.push('one')
s.push('two')
print(s.peek()) # two
s.push('three')
print(s.size()) # 3
print(s.isEmpty()) # False
s.push(111111)
print(s.pop())
print(s.pop())
print(s.size())