使用Python列表作为队列的效率

20 浏览
0 Comments

使用Python列表作为队列的效率

最近,一位同事编写了一个程序,他在程序中使用了Python列表作为队列。换句话说,他在需要插入项目时使用`.append(x)`,在需要删除项目时使用`.pop(0)`。

我知道Python有`collections.deque`,我正在努力弄清楚是否值得花费我有限的时间来重写这段代码以使用它。假设我们执行了数百万次的插入和删除操作,但条目数永远不会超过几千个,他的列表使用会成为一个问题吗?

特别是,Python列表实现中使用的底层数组会继续无限增长到数百万个位置,即使列表只有几千个元素,还是Python最终会执行`realloc`并释放一些内存?

0