Коллега недавно написал программу, в которой он использовал список Python в качестве очереди. Другими словами, он использовал .append(x)
, когда нужно было вставить элементы, и .pop(0)
, когда нужно было удалить элементы.
Я знаю, что в Python есть collections.deque
, и я пытаюсь выяснить, потратить свое (ограниченное) время, чтобы переписать этот код, чтобы использовать его. Предполагая, что мы выполняем миллионы добавлений и извлечений, но никогда не имеем более нескольких тысяч записей, будет ли проблемой использование его списка?
В частности, будет ли базовый массив, используемый реализацией списка Python, продолжать бесконечно расти, иметь миллионы точек, даже если список содержит только тысячу элементов, или Python в конечном итоге выполнит realloc
и освободит часть этой памяти?