在Python中,你可以使用列表(list)来模拟栈的行为。下面是一个简单的栈实现,包括压栈(push)、弹栈(pop)、查看栈顶元素(peek)、判断栈是否为空(is_empty)以及获取栈的大小(size)等操作:
class Stack(object):def __init__(self):self.items = [] 初始化栈为空列表def is_empty(self):return self.items == [] 判断栈是否为空def peek(self):return self.items[-1] if not self.is_empty() else None 返回栈顶元素def size(self):return len(self.items) 返回栈的大小def push(self, item):self.items.append(item) 把新的元素堆进栈里面def pop(self):return self.items.pop() if not self.is_empty() else None 把栈顶元素丢出去使用示例if __name__ == "__main__":my_stack = Stack()my_stack.push('h')my_stack.push('a')print(my_stack.size()) 输出:2print(my_stack.peek()) 输出:'a'print(my_stack.pop()) 输出:'a'print(my_stack.is_empty()) 输出:False
这个栈实现使用了Python的内建`list`数据结构,通过`append`方法实现压栈,通过`pop`方法实现弹栈。`peek`方法返回栈顶元素但不移除它,`is_empty`方法检查栈是否为空,`size`方法返回栈中元素的数量。

