有没有基准测试显示`collections.deque`的良好性能?

7 投票
1 回答
1190 浏览
提问于 2025-04-16 14:02

我一直对Python里的collections.deque这个对象很感兴趣。它看起来像一个列表,但在开头添加或删除项目的速度比列表要快。

这让我想在我的代码中,把那些需要从左边弹出元素的列表换成deque。所以我想问:有没有人对在这种情况下dequelist的性能做过比较?

1 个回答

3

我刚刚做了个快速的谷歌搜索,找到了两个有代码和数据的来源:

一个邮件列表的帖子:
http://coding.derkeiler.com/Archive/Python/comp.lang.python/2010-01/msg02138.html

一个博客帖子:
http://txzone.net/2010/04/python-is-x-is-better-than-y-round-1-deque-vs-list/

看起来在大多数操作中,列表的速度稍微快一点,但在执行.pop[0]这个操作时,双端队列(deque)比列表快得多(对于一个有100,000个元素的列表,速度差距达到100倍)。

撰写回答