当前位置:   article > 正文

Python 使用list及collections.deque实现栈与队列操作_python 列表栈改用deque

python 列表栈改用deque

一、栈

1.1 栈的特点

后进先出(last-in, first-out),最后添加的元素第一个被获取。

1.2 使用list当成栈使用

添加一个元素到栈顶,使用list.append(x),从栈顶接收一个元素,使用不显示指定索引的pop()

  1. >>> stack = [3, 4, 5]
  2. >>> #入栈操作
  3. ... stack.append(6)
  4. >>> stack.append(7)
  5. >>> stack
  6. [3, 4, 5, 6, 7]
  7. >>> #出栈操作
  8. ... stack.pop()
  9. 7
  10. >>> stack.pop()
  11. 6
  12. >>> stack
  13. [3, 4, 5]

二、队列

2.1 队列的特点

 

队列特点:第一个添加的元素第一个被接收,即先进先出(“first-in, first-out”);然而,从队列的开头执行插入或弹出操作都很慢(因为必须移动其它元素)

2.2 把collections.deque 当成队列使用

collections.deque,被设计为在队列两端都有最快的拼接(append)和弹出(pop)操作,可用来完成一个队列操作

  1. >>> from collections import deque
  2. >>> queue = deque(["Eric", "John", "Michael"])
  3. >>> queue.append("Terry") # Terry arrives
  4. >>> queue.append("Graham") # Graham arrives
  5. >>> queue.popleft() # first out
  6. 'Eric'
  7. >>> queue.popleft() # second out
  8. 'John'
  9. >>> queue
  10. deque(['Michael', 'Terry', 'Graham'])
  11. >>> len(queue) # 获取队列长度
  12. 3
  13. >>> from collections import deque
  14. >>> myque = deque()
  15. >>> myque.append('name')
  16. >>> myque
  17. deque(['name'])
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/538488
推荐阅读
相关标签
  

闽ICP备14008679号