Назад к вопросам
Middle
6
Почему Python list может хранить элементы разных типов и при этом работает быстрый доступ по индексу?
Компании, где спрашивали
ИП Ганус Александр Андреевич
Ответ от нейросети
sobes.tech AI
В Python список (list) реализован как динамический массив, который хранит не сами объекты, а ссылки (указатели) на объекты. Благодаря этому в одном списке могут храниться элементы разных типов — каждый элемент просто указывает на объект с соответствующим типом.
Доступ по индексу быстрый (O(1)), потому что список — это массив указателей, и по индексу можно мгновенно получить адрес нужного объекта. Сам объект может быть где угодно в памяти, но ссылка на него хранится в массиве подряд, что обеспечивает быструю индексацию.
Пример:
lst = [123, 'abc', 3.14, [1, 2, 3]]
print(lst[1]) # 'abc'
Здесь lst содержит ссылки на объекты разных типов: int, str, float, list.