python 队列_Python中的双端队列:collections.deque

00e7826083868ecb04090ac74b087a13.gif

关于deque

起因是我想做一个「手气不错」的功能,为了提高性能,打算用队列实现,偶然在Stack Overflow看到一个讨论「Efficiency of using a Python list as a queue」

python的list有pop方法,可以实现队列的取出功能,不过据说性能一般般,高赞回答说的

You won't run out of memory using the list implementation, but performance will be poor.

那我还是用deque吧,这个deque还是线程安全的,具体的实现先不管了,有空看看它是如何实现的,附官网介绍:

Deques support thread-safe, memory efficient appends and pops from either side of the deque with approximately the same O(1) performance in either direction.

使用方法

感觉照搬文档好啰嗦啊…… 使用起来和lsit差不多,不过注意一下list只能在最右边append和pop,而deque可以在左边appendleft和popleft,时间复杂度还是O(1),很舒服~

参考资料

  • 官方文档:https://docs.python.org/3/library/collections.html#collections.deque
  • https://stackoverflow.com/questions/1296511/efficiency-of-using-a-python-list-as-a-queue
  • https://zhuanlan.zhihu.com/p/32201189
e4edd1be4764af5e06011e3cbb7ce0ac.png推荐阅读 使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页 聊聊Django应用的部署和性能的那些事儿 数据分析必备技能!3分钟教会你如何在PyQt中画好看的图表 Flutter移动应用快速构建实践——状态管理、国际化、数据持久化、性能优化(二) 无需折腾的Linux发行版:Manjaro体验与配置笔记,开箱即用 真香! Asp.Net Core学习笔记:(二)视图、模型、持久化、文件、错误处理、日志 70742fd36536fdb0f93720a1dac7b9a9.png f765cf8311d8aff371688f3a9ae18d47.png

扫码关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值