ENIGMA AI
ENIGMA AI

Чем отличаются списки, кортежи и словари в Python? Как они записываются и для чего каждый из них используется?

встречается 1× Python junior language_specific

Как ответить

Списки, кортежи и словари — три базовые структуры данных в Python. Главное отличие: списки и словари изменяемые, кортежи — нет. Это определяет, где их использовать.

Список (list) — упорядоченный изменяемый набор элементов. Записывается в квадратных скобках:

nums = [1, 2, 3]
Можно добавлять, удалять, менять элементы:
nums.append(4)
nums[0] = 10
Используется для последовательностей, которые могут расти или меняться — например, список заказов, результаты парсинга. Доступ по индексу, срезы.

Кортеж (tuple) — упорядоченный неизменяемый набор. Записывается в круглых скобках или даже без них:

coords = (55.7, 37.6)
years = 2020, 2021, 2022
Нельзя изменить элементы после создания. Занимает меньше памяти, работает чуть быстрее списка. Используется для данных, которые не должны меняться: координаты, конфигурационные константы, возвращаемые значения функций (например, divmod()). Может быть ключом в словаре.

Словарь (dict) — неупорядоченный (в Python 3.7+ сохраняет порядок вставки) изменяемый набор пар ключ-значение. Записывается в фигурных скобках:

user = {"name": "Иван", "age": 30}
Быстрый доступ по ключу (хеш-таблица), вставка и удаление. Ключи — только неизменяемые типы (числа, строки, кортежи). Используется для маппинга — например, конфигурация, данные из JSON, кэширование.

Когда что выбирать:

  • Список — нужна упорядоченная последовательность, которую будем менять. Например, очередь задач.
  • Кортеж — данные фиксированы и/или нужны как ключи словаря. Например, записи из базы с известной структурой (через namedtuple).
  • Словарь — нужен быстрый поиск по ключу, а не по индексу. Например, телефонная книга.

На практике часто комбинируют: список словарей (табличные данные) или список кортежей (результаты запроса). Знание этих структур — база для эффективного кода на Python.

Ключевые тезисы

  • Список — изменяемый, упорядоченный, квадратные скобки; используется для последовательностей, которые могут меняться.
  • Кортеж — неизменяемый, упорядоченный, круглые скобки (или без); быстрее списка, может быть ключом словаря.
  • Словарь — изменяемый, пары ключ-значение, фигурные скобки; быстрый доступ по ключу (хеш-таблица), ключи — только хешируемые типы.
  • Кортеж неизменяем, поэтому подходит для данных, которые не должны быть случайно изменены, и для ключей словаря.
  • Выбор между структурами зависит от задачи: списки для изменения/порядка, кортежи для фиксированных данных, словари для маппинга.

Что спросят дальше

  • — Что произойдёт, если попытаться использовать список как ключ словаря?
  • — Какие методы у списка есть (append, extend, insert) и чем отличается pop() от remove()?
  • — Зачем нужны именованные кортежи (namedtuple) и чем они удобнее обычных кортежей?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение