本文主要是介绍将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]
也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。
from collections import deque
queue = deque([“Eric”, “John”, “Michael”])
queue.append(“Terry”) # Terry arrives
queue.append(“Graham”) # Graham arrives
queue.popleft() # The first to arrive now leaves
‘Eric’queue.popleft() # The second to arrive now leaves
‘John’queue # Remaining queue in order of arrival
deque([‘Michael’, ‘Terry’, ‘Graham’])
这篇关于将python列表当做堆栈、队列使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!