Кортеж и распаковка
Уроки курсаКортеж и распаковка
В предыдущих уроках вы работали со списками: добавляли элементы, удаляли их, изменяли по индексу. Список — гибкая структура, которую можно переписывать сколько угодно. Кортеж устроен иначе: он тоже хранит упорядоченный набор значений, но его нельзя изменить после создания. Именно эта разница делает кортеж отдельным инструментом, а не просто «списком в скобках».
Кортеж: создание литералом и доступ по индексу
Кортеж — это упорядоченная последовательность значений, которую 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(), смешанные типы — это всё есть и в списке. Принципиальная разница проявится в следующем разделе, когда попробуем что-то изменить.
