第十四章 将列表当做堆栈使用

将列表当做堆栈使用

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

stack = []
stack.append(6)
stack.append(7)
print(stack)  #[6, 7]
stack.pop()   #7
print(stack)  #[6]
stack.pop()   # 6
print(stack)  #[]

将列表当作队列使用

​ 也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来(先进先出);但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。

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'
print(queue)                           # Remaining queue in order of arrival
#deque(['Michael', 'Terry', 'Graham'])

你可能感兴趣的:(第十四章 将列表当做堆栈使用)