【发布时间】:2026-01-31 02:05:03
【问题描述】:
我需要在 Python 中编写事件日历,它允许在任何位置粘贴事件并作为 FIFO(从左侧弹出元素)工作。
Python collections.deque 可以高效地作为 FIFO 工作,但它不允许在当前元素之间粘贴元素。
另一方面,Python list 允许插入到中间,但 popleft 效率低。
那么,有什么妥协吗?
UPD 这种结构可能比队列更接近链表。标题已更改。
【问题讨论】:
-
Afaik 没有一个课程可以同时有效地完成这两个任务。你已经搞定了:list 可以插入到任何位置,deque 可以左右弹出/插入/扩展。
-
list在中间的插入渐近与 popleft 一样低效。