Back to questions
Junior — Middle
81
Объясните, почему в Python кортеж занимает меньше памяти по сравнению со списком.
Companies where asked
ИнфоТехСервис
Answer from AI
sobes.tech AI
Кортежи в Python занимают меньше памяти по сравнению со списками, потому что они являются неизменяемыми (immutable) структурами данных. Из-за этого интерпретатор может оптимизировать их хранение:
- Кортежи не требуют дополнительного места для управления изменениями (например, для динамического изменения размера).
- Внутренняя структура кортежа проще: отсутствуют механизмы для добавления или удаления элементов.
- Списки реализованы как динамические массивы с запасом по размеру, что требует дополнительной памяти для возможности расширения.
Пример:
import sys
lst = [1, 2, 3, 4]
tpl = (1, 2, 3, 4)
print(sys.getsizeof(lst)) # Например, 96
print(sys.getsizeof(tpl)) # Например, 80
Здесь видно, что кортеж занимает меньше байт в памяти, так как не хранит дополнительной информации для управления изменениями.