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

Почему кортеж потребляет меньше памяти, чем список в Python

Кортежи занимают меньше памяти, потому что они являются неизменяемыми (immutable) структурами данных. Это позволяет Python оптимизировать их хранение:

  1. Фиксированный размер – так как кортежи нельзя изменить после создания, интерпретатор заранее выделяет точное количество памяти.
  2. Отсутствие overhead – списки имеют дополнительную память для возможного расширения (over-allocate), а кортежи нет.
  3. Пустые структуры:
    python
    import sys
    sys.getsizeof([])    # 56 байт (список)
    sys.getsizeof(())    # 40 байт (кортеж)
  4. Элементы – при хранении одинаковых элементов разница становится заметнее:
    python
    sys.getsizeof([1,2,3])    # 88 байт
    sys.getsizeof((1,2,3))    # 72 байта

Используйте кортежи для константных данных, где не требуется изменение.

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

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

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

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