海哥 发表于 2025-1-8 11:03:46

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

一.  简介

前面一篇文章简朴学习了 列表实现栈操作,文章如下:
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'] 可以看出,上面的示例,通过列表实现了栈的根本操作。








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: python3中列表实现栈操作:实例