比较,Python deque还是索引?

2024-04-20 06:35:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要访问Pythonlist最左边的元素,同时从左边弹出元素。这种用法的一个例子是合并排序的合并操作。 有两个好方法。你知道吗

  • collections.deque
  • 使用索引,在弹出时保持一个递增的整数。你知道吗

这两种方法在复杂性方面似乎都很有效(应该在程序开始时提到,我需要将列表转换为deque,这意味着额外的O(n))。你知道吗

那么在风格和速度方面,哪一个最适合Python的使用呢?我没有看到一个官方的建议或没有遇到类似的问题,这就是为什么我问这个问题。你知道吗

提前谢谢。你知道吗

相关:Time complexity


Tags: 方法程序元素用法列表官方排序风格
1条回答
网友
1楼 · 发布于 2024-04-20 06:35:38

当然collections.deque。首先,它已经写好了,这样你就不用写了。其次,它是用C语言编写的,因此可能比另一个Python重新实现要快得多。第三,使用索引会使列表的头未被使用,而queue更聪明。附加到一个标准的列表仅仅是为了增加每个左pop的起始索引是非常低效的,因为您需要更频繁地重新分配列表。你知道吗

相关问题 更多 >