Sobes.tech
Middle
49

Zašto Python lista može sadržavati elemente različitih tipova i pritom omogućava brzi pristup po indeksu?

Компаније где су питане
ИП Ганус Александр Андреевич

Одговор од АИ

sobes.tech АИ

В Python список (list) реализован как динамический массив, который хранит не сами объекты, а ссылки (указатели) на объекты. Благодаря этому в одном списке могут храниться элементы разных типов — каждый элемент просто указывает на объект с соответствующим типом.

Доступ по индексу быстрый (O(1)), потому что список — это массив указателей, и по индексу можно мгновенно получить адрес нужного объекта. Сам объект может быть где угодно в памяти, но ссылка на него хранится в массиве подряд, что обеспечивает быструю индексацию.

Пример:

lst = [123, 'abc', 3.14, [1, 2, 3]]
print(lst[1])  # 'abc'

Здесь lst содержит ссылки на объекты разных типов: int, str, float, list.