Статья

Python: кортежи

5 сентября 2026~8 минут10–11 класс

Разберём «Python: кортежи» по шагам: короткая теория, наглядный пример, разбор типового задания и ловушки, на которых теряют баллы. В конце — что запомнить и где закрепить на практике.

Что такое кортеж в Python

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

Кортеж, или tuple, — это упорядоченная коллекция элементов. В нём могут находиться числа, строки, логические значения и даже другие коллекции. У каждого элемента есть индекс: отсчёт начинается с нуля. Главное свойство кортежа — неизменяемость. Созданный кортеж нельзя дополнить, удалить из него элемент или заменить значение по индексу.

\( point = (3, 7) \)
name = ("Аня", "Илья", "Маша")
mixed = (10, "Python", True)

Круглые скобки делают запись понятной, но в некоторых случаях Python распознаёт кортеж и без них. Важна запятая между элементами. Это особенно заметно при создании кортежа из одного значения.

Создание и обращение к элементам

Пустой кортеж создают так: (). Для нескольких элементов достаточно перечислить значения через запятую. Чтобы получить элемент, укажи его индекс в квадратных скобках. Первый элемент имеет индекс 0, второй — 1, последний можно получить с помощью индекса −1.

colors = ("красный", "зелёный", "синий")
print(colors[0]) → красный
print(colors[-1]) → синий

Кортеж поддерживает срезы. Запись кортеж[start:stop] возвращает элементы от start до stop, не включая правую границу. Например, colors[0:2] даст первые два цвета. Если начало или конец не указаны, Python использует начало или конец последовательности.

Размер кортежа узнают функцией len(). Проверить наличие значения можно оператором in. Эти операции не изменяют исходные данные.

\( numbers = (4, 8, 15, 16, 23, 42) \)
len(numbers) → 6
15 in numbers → True
numbers[1:4] → (8, 15, 16)

Совет репетитора

Перед обращением к элементу мысленно подпиши индексы под значениями. Такой маленький приём особенно полезен в задачах со срезами и отрицательными индексами.

Неизменяемость и операции

После создания кортеж нельзя изменить напрямую. Попытка выполнить point[0] = 5 приведёт к ошибке TypeError. Это не недостаток, а защита данных: координаты, настройки или результаты вычислений не будут случайно перезаписаны другой частью программы.

С кортежами можно выполнять безопасные операции. Оператор + объединяет кортежи, а * повторяет их содержимое. Функции min(), max() и sum() подходят для числовых кортежей.

\( a = (1, 2) \)
\( b = (3, 4) \)
\( a + b \to (1, 2, 3, 4) \)
a * 3 → (1, 2, 1, 2, 1, 2)
sum((5, 7, 2)) → 14

Если всё-таки нужно получить изменяемую последовательность, создай список на основе кортежа: list(point). Обратное преобразование выполняется функцией tuple(). Помни: вложенный изменяемый объект может меняться, даже если внешний кортеж остаётся тем же.

data = ([1, 2], "ok")
data[0].append(3)
data → ([1, 2, 3], "ok")

Распаковка кортежа

Распаковка позволяет записать элементы кортежа в отдельные переменные одной строкой. Количество переменных обычно должно совпадать с количеством элементов. Такой способ часто встречается при обмене значений, возврате нескольких результатов из функции и обработке строк.

student = ("Олег", เป็น, 16)
\( name, grade, age = student \)
print(name) → Олег

В примере выше вместо слова «оценка» должно быть обычное число: корректная запись выглядит так: ("Олег", 5, 16). При распаковке Python последовательно связывает значения с переменными слева направо.

Если элементов больше, чем переменных, можно использовать звёздочку. Переменная со звёздочкой получит список оставшихся элементов. Это удобно, когда важны только начало и конец последовательности.

\( numbers = (10, 20, 30, 40, 50) \)
\( first, *middle, last = numbers \)
first → 10
middle → [20, 30, 40]
last → 50

Кортеж также часто возвращает функция. Например, метод divmod(17, 5) возвращает кортеж из частного и остатка, который можно сразу распаковать.

Ошибки и выбор между списком и кортежем

Первая частая ошибка — забыть запятую в кортеже из одного элемента. Запись one = (7) создаёт число, заключённое в скобки, а не кортеж. Правильно: one = (7,). Скобки здесь необязательны: one = 7, тоже создаёт кортеж.

Вторая ошибка — перепутать индекс и значение. В кортеже ("a", "b", "c") индекс 1 указывает на строку "b", а не на первый элемент. Третья — обратиться к несуществующему индексу. Python сообщит об ошибке IndexError.

Ловушка

Не называй кортеж «полностью неизменяемым», если внутри него есть список. Сам кортеж сохранить структуру может, но вложенный список останется изменяемым.

Выбирай список, если коллекцию нужно сортировать, дополнять или удалять из неё элементы. Кортеж подходит для фиксированного набора данных, координат, параметров и результатов, которые должны оставаться постоянными. Кортежи можно использовать как ключи словаря, если все вложенные элементы тоже неизменяемы.

СвойствоКортежСписок
Запись()[]
Изменение элементовНельзяМожно
Подходит для фиксированных данныхДаНе всегда

Что запомнить

Кортеж — упорядоченная неизменяемая последовательность. Он создаётся значениями, разделёнными запятыми, а чаще записывается в круглых скобках. Индексация начинается с нуля, последний элемент доступен через −1. Для получения части кортежа применяют срезы, для размера — len(), для проверки — in.

Кортежи можно объединять, повторять и распаковывать. Нельзя напрямую присвоить новое значение элементу или удалить его. Особое внимание уделяй кортежу из одного элемента: обязательна запятая. Если данные должны меняться, используй список; если набор фиксирован, кортеж сделает намерение программы яснее.

Закрепи тему на практике: зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. Там удобно проверить, насколько уверенно ты находишь индексы, исправляешь ошибки и выполняешь распаковку.

Если готовишься к экзамену, после базовых упражнений можно перейти к заданиям из раздела ОГЭ или посмотреть материалы для ЕГЭ. А для регулярной бесплатной практики используй личный кабинет: возвращайся к теме и решай небольшими сериями.

Как закрепить тему после разбора?

Создай несколько кортежей разных типов, выведи элементы по индексам, потренируй срезы и распаковку. Затем реши задания, где нужно выбрать между списком и кортежем, и обязательно объясни свой выбор словами.

Чем кортеж отличается от списка?

Кортеж неизменяем, а список можно изменять: добавлять, удалять и заменять элементы. Поэтому кортеж удобен для фиксированных данных, а список — для коллекций, которые будут меняться.

Как создать кортеж из одного элемента?

Поставь запятую после значения: one = (7,). Без запятой скобки только группируют число, и кортеж не создаётся.

Можно ли изменить вложенный список в кортеже?

Да. Внешний кортеж не меняется, но список внутри него остаётся изменяемым, поэтому его элементы можно добавить, удалить или заменить.

Не оставляйте тему «прочитанной»

Понимание — половина дела. Вторая — практика с обратной связью: личный кабинет Просто Урок покажет, где вы ошибаетесь, и подтянет слабые места.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.