python-把列表当堆栈,队列使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-把列表当堆栈,队列使用相关的知识,希望对你有一定的参考价值。

列表方法使得列表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。例如:

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]
你也可以把列表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)。
要实现队列,使用 collections.deque,它为在首尾两端快速插入和删除而设计。例如:
>>> from collections import deque
>>> queue = deque(["a", "b", "c"])
>>> queue.append("A")           
>>> queue.append("B")          
>>> queue.popleft()   
有个方法可以从列表中按给定的索引而不是值来删除一个子项: del 语句。它不同于有返回值的 pop() 方法。语句 del 还可以从列表中删除切片或清空整个列表。







以上是关于python-把列表当堆栈,队列使用的主要内容,如果未能解决你的问题,请参考以下文章

python列表实现堆栈和队列

python列表模拟堆栈和队列

python模拟队列和堆栈(列表练习)

万能的list列表,python中的堆栈队列实现全靠它!

万能的list列表,python中的堆栈队列实现全靠它!

如何用Python实现堆栈和队列详细讲解