Встречается на собеседованиях • сегодня

Что происходит при добавлении элемента в заполненный массив списка в Python

При добавлении элемента в заполненный список Python автоматически увеличивает его размер. Внутри CPython списки реализованы как динамические массивы. Когда список заполняется, происходит резервирование нового блока памяти большего размера (обычно примерно на 12.5% больше текущего), копирование всех элементов и освобождение старой памяти. Это гарантирует амортизированную O(1) сложность для операции append().

Пример:

python
lst = [1, 2, 3]
print(id(lst))  # id исходного списка
lst.append(4)   # при заполнении capacity изменится id
print(id(lst))  # новый id, если был реаллокация

Важно: реаллокация происходит не при каждом добавлении, только при заполнении текущего выделенного пространства.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы