мой код использования deque python. Код перебирает деку, находит индекс для помещения элемента и затем помещает элемент в указатель c index с помощью insert (index). Вставка deque итерирует по deque снова и находит место. Но итерация вставки не нужна, потому что я уже повторяю в deque. Могу ли я выполнить вставку O (1), если я уже перебираю деку для поиска индекса, в который я хочу поместить новый элемент?
from _collections import deque
def append(self, id):
if len(self.collection) == 0:
self.collection.append(id)
else:
i = 0
order = self.order_manager.map.get(id)
for item in self.collection:
item_obj = self.order_manager.map.get(item)
if item_obj.priority >= order.priority:
i = i+1
else:
break
self.collection.insert(i, id)