Как устроен список в Python
Python
Senior
Без компании
Как устроен список в Python
Ответы
Список в Python — это динамический массив ссылок на объекты. Он может содержать элементы разных типов, так как хранит не сами объекты, а ссылки на них.
**Особенности:**
- Изменяемый (mutable) тип данных
- Поддерживает индексацию и срезы
- Автоматически расширяется при добавлении элементов
**Пример:**
```
my_list = [1, "text", 3.14, [1, 2]] # Может содержать разные типы
my_list.append(True) # Добавление элемента
print(my_list[1:3]) # Срез: ['text', 3.14]
```
**Внутреннее устройство:**
- При создании резервируется память с запасом (over-allocation)
- При заполнении выделяется новый блок памяти большего размера
- Операции вставки/удаления в начале списка (insert(0), pop(0)) медленные — O(n)
- Доступ по индексу и добавление в конец (append) — O(1)