Добавить в корзинуПозвонить
Найти в Дзене
Brainsburg Educational

Кортежи в Python

На прошлом уроке мы разобрали списки — гибкие контейнеры, которые можно менять как угодно. Теперь познакомимся с их «старшим братом» — кортежем. Всё почти то же самое, но с одним принципиальным отличием. Кортеж (tuple) — это упорядоченный набор данных, который нельзя изменить после создания. Нельзя добавить новый элемент, удалить существующий или заменить значение. Создаётся кортеж так же просто, как список, но вместо квадратных скобок [] используются круглые (): Вывод: (10, 20, 30) Далее, для простоты, строки типа тех, что наверху комментироваться не будут. Уверены, для Вас это уже излишне. Словом, кортеж — это своего рода «защищённый список». Если данные не
должны меняться по логике программы, лучше сразу сделать их кортежем,
чтобы никто случайно ничего не испортил. Понять когда использовать кортеж, а когда - список можно, глянув на простую таблицу Пример 1. Координаты точки на карте не должны меняться в процессе работы программы: Вывод: (55.7558, 37.6173) Пример 2. Дата рождения с
Оглавление

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

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

Кортеж (tuple) — это упорядоченный набор данных, который нельзя изменить после создания. Нельзя добавить новый элемент, удалить существующий или заменить значение.

Создаётся кортеж так же просто, как список, но вместо квадратных скобок [] используются круглые ():

-2

Вывод: (10, 20, 30)

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

Словом, кортеж — это своего рода «защищённый список». Если данные не
должны меняться по логике программы, лучше сразу сделать их кортежем,
чтобы никто случайно ничего не испортил.

Понять когда использовать кортеж, а когда - список можно, глянув на простую таблицу

-3

2. Что такое кортеж и для чего он нужен

Пример 1. Координаты точки на карте не должны меняться в процессе работы программы:

-4

Вывод: (55.7558, 37.6173)

Пример 2. Дата рождения сотрудника — постоянная информация, изменять её нет смысла:

-5

Вывод: (15, 8, 1995)

3. Какие данные можно хранить в кортежах

Кортежи, как и списки, принимают любые типы данных.

Числа и переменные, которые на них ссылаются

Пример 1. Прямые числа в кортеже — фиксированные цены тарифов:

-6

Вывод: (299, 599, 999)

Пример 2. Переменные, которые ссылаются на числа:

-7

Вывод: (-10, 35, 14)

В кортеж попадают сами значения переменных, а не ссылки на них.

Буквы и строки

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

-8

Вывод: ('A', 'B', 'C', 'D')

Пример 2. Кортеж строк — список стран, в которых работает компания (не меняется):

-9

Вывод: ('Россия', 'Казахстан', 'Беларусь')

4. Как получать доступ к элементу кортежа

Доступ к элементу кортежа работает точно так же, как в списке: по индексу, начиная с нуля.

имя_кортежа[индекс]

Результат удобно сохранять в переменную и выводить через print().

Пример 1. Получаем первую координату точки:

-10

Вывод: 55.7558

Пример 2. Получаем вторую страну из списка присутствия компании:

-11

Вывод: Казахстан

💡 Не забываем: индексация начинается с нуля — всё то же самое, что и в списках.

5. Что такое вложенные кортежи и где они используются

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

-12

Вывод:

-13

Вложенные кортежи встречаются там, где данные имеют чёткую структуру и не должны меняться — например:

  • Географические координаты нескольких точек маршрута.
  • Курсы валют на фиксированную дату.
  • Конфигурационные параметры программы.

6. Как получать доступ к элементу вложенного кортежа

Точно так же, как во вложенных списках: два индекса подряд. Первый — номер вложенного кортежа, второй — номер элемента внутри него.

-14

Пример 1. Получаем город назначения второго маршрута:

-15

Вывод:

-16

routes[1] — это кортеж ("Казань", "Екатеринбург"), а [1] — его второй элемент.

Пример 2. Получаем курс второй валюты из таблицы:

-17

Вывод:

-18

7. Почему кортеж нельзя изменить и что с этим делать

Попытка изменить элемент кортежа вызовет ошибку:

-19

Вывод:

-20

Это не баг, а фича: Python специально защищает кортеж от изменений.

Если данные всё же нужно изменить, можно преобразовать кортеж в список, внести правки и при необходимости вернуть обратно:

-21

Вывод:

-22