python3中列表实现栈操作:实例

发布于:2025-02-10 ⋅ 阅读:(55) ⋅ 点赞:(0)

一.  简介

前面一篇文章简单学习了 列表实现栈操作,文章如下:

python3中列表的应用:实现栈操作-CSDN博客

本文继续学习列表实现栈操作,主要通过一个实例来说明。

二. python3 中列表实现栈操作:实例

栈是一种 "后进先出"(或 "先进后出") 的数据结构,意味着最后添加的元素最先被移除。而 列表提供了一些方法,使其比较适合用于栈操作。所以,可以使用列表(list)来实现栈的功能,例如,压栈(push)、弹栈(pop)和查看栈顶元素(peek)等。

下面通过实现一个类,来说明列表如何实现栈操作。

#!/usr/bin/env python3

class my_stack:
    def __init__(self):
        #创建一个空列表
        self.items = []
    #判断栈是否为空
    def is_empty(self):
        return len(self.items) == 0
    #压入栈
    def push(self, item):
        self.items.append(item)
    #弹出栈
    def pop(self):
        if not self.is_empty():
            return self.items.pop()
        else:
            return None

    #查看栈顶元素
    def peek(self):
        if not self.is_empty():
            return self.items[-1]
        else:
            return None
    #获取栈的大小
    def size(self):
        return len(self.items)
    #返回栈的字符串表示
    def __str__(self):
        return str(self.items)
    
#测试栈操作
stack1 = my_stack()
stack1.push("apple")
stack1.push("strawberry")
stack1.push("banana")
stack1.push("orange")

print(stack1)
print(f"Top element: {stack1.peek()}")
print(f"Popped element: {stack1.pop()}")
print(f"Is the stack empty ?  {stack1.is_empty()}")
print(f"stack size: {stack1.size()}")
print(f"string of stack: {stack1.__str__()}")

输出如下:

['apple', 'strawberry', 'banana', 'orange']
Top element: orange
Popped element: orange
Is the stack empty ?  False
stack size: 3
string of stack: ['apple', 'strawberry', 'banana']

可以看出,上面的示例,通过列表实现了栈的基本操作。


网站公告

今日签到

点亮在社区的每一天
去签到