Если я использую код
from collections import deque
q = deque(maxlen=2)
while step <= step_max:
calculate(item)
q.append(item)
another_calculation(q)
, как он сравнивается по эффективности и удобочитаемости с
q = []
while step <= step_max:
calculate(item)
q.append(item)
q = q[-2:]
another_calculation(q)
calculate()
и another_calculation()
в данном случае не реально, но вМоя настоящая программа - это просто два расчета.Я делаю эти вычисления каждый шаг за миллионы шагов (я моделирую ион в 2-м пространстве).Поскольку шагов так много, q
становится очень длинным и использует много памяти, в то время как another_calculation()
использует только два последних значения q
.Я использовал последний метод, потом услышал упоминание deque
и подумал, что он может быть более эффективным;таким образом, вопрос.
Т.е. как deques в python сравнивается с обычным нарезанием списка?