python - 使用类还是使用内置结构实现数据结构更好?
问题描述
我正在学习数据结构并且有一个问题。在我正在阅读的教科书中,他们展示了这样一个堆栈的实现:
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
我不需要创建一个全新的类?为什么他们不能像这样创建一个堆栈:
myStack = []
>>> myStack.append('a')
>>> myStack.append('b')
>>> myStack.append('c')
>>> myStack
['a', 'b', 'c']
>>> myStack.pop()
'c'
>>> myStack.pop()
'b'
>>> myStack.pop()
'a'
它更快或更通用吗?我想了解其中的区别,以便能够在需要时决定如何实施。
谢谢!
解决方案
This is just a basic example to give you a feel for how to implement your own data structure. A list is already good enough to use as a stack, but for more complicated data structures there won't be anything built in that works so well.
推荐阅读
- mysql - MySQL“重复外键”,但键不存在
- java - LiquiBase diff & diffChangeLog 未检测到更改
- php - 遍历从 PHP 序列化格式解码的地图
- crystal-reports - 字符串类型字段上的多个范围过滤器会破坏日期范围过滤器
- c# - 在excel c#中解析日期时遇到问题
- ionic-framework - IONIC 对位于自定义组件中的图像使用另一个文件目录
- javascript - 返回javascript中动态范围之间的偶数和奇数
- yii - Yii1 - 在限制和偏移之前计数,查询全部
- php - 为什么这个三元运算符不起作用?
- java - 如何忽略 SQL 更新中的列