Python для новичковКоллекцииКортеж и распаковка

Кортеж и распаковка

Уроки курсаКортеж и распаковка

В предыдущих уроках вы работали со списками: добавляли элементы, удаляли их, изменяли по индексу. Список — гибкая структура, которую можно переписывать сколько угодно. Кортеж устроен иначе: он тоже хранит упорядоченный набор значений, но его нельзя изменить после создания. Именно эта разница делает кортеж отдельным инструментом, а не просто «списком в скобках».

Кортеж: создание литералом и доступ по индексу

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

point = (3, 7)
coords = (10, 20, 30)

Скобки здесь не обязательны — Python распознаёт кортеж по запятым. Следующая запись тоже создаёт кортеж из двух элементов:

pair = 1, 2
print(type(pair))  # <class 'tuple'>

Однако на практике скобки почти всегда пишут: они делают код читаемым с первого взгляда.

Читать элементы кортежа можно по индексу — ровно так же, как в списке. Индексация начинается с нуля, отрицательные индексы отсчитываются с конца:

coords = (10, 20, 30)
print(coords[0])   # 10
print(coords[1])   # 20
print(coords[-1])  # 30

Чтобы узнать длину кортежа, используют len() — всё как со списком:

print(len(coords))  # 3

Кортеж может хранить значения разных типов в одном объекте: строки, числа, булевы значения — любую комбинацию:

profile = ('Анна', 25, True)
print(profile[0])  # Анна
print(profile[2])  # True

Тип данных в Python для кортежа называется tuple. Если нужно убедиться, что переменная действительно кортеж, type() вернёт именно это:

print(type(coords))  # <class 'tuple'>

Пока всё выглядит знакомо: индексы, len(), смешанные типы — это всё есть и в списке. Принципиальная разница проявится в следующем разделе, когда попробуем что-то изменить.