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]