Что такое Кортежи (Tuple) в python и зачем они?

Что такое Кортежи (Tuple) в python и зачем они?

Кортеж в Python это:

  • последовательность элементов, которые разделены между собой запятой и заключены в скобки
  • неизменяемый упорядоченный тип данных

Грубо говоря, кортеж - это список, который нельзя изменить. То есть, в кортеже есть только права на чтение. Это может быть защитой от случайных изменений.

Некоторые особенности кортежей:

  • они упорядочены по позициям;
  • кортежи могут хранить и содержать внутри себя объекты любых типов (и даже составных);
  • доступ к элементам происходит по смещению, а не по ключу;
  • в рамках этой структуры данных определены все операции, основанные на применении смещения (индексирование, срез);
  • кортежи поддерживают неограниченное количество уровней вложенности;
  • кортежи хранят указатели на другие объекты, а значит их можно представлять, как массивы ссылок;
  • они позволяют очень просто менять местами значения двух переменных.

Зачем использовать кортеж вместо списка?

Тем, кто уже успел познакомиться со списками в Python, может показаться не очевидным смысл использования кортежей. Ведь фактически, списки могут делать всё то же самое и даже больше. Это вполне естественный вопрос, но, разумеется, у создателей языка найдётся на него ответ:

  • Неизменяемость - это свойство кортежей, порой, может выгодно отличать их от списков.
  • Скорость - кортежи быстрее работают. По причине неизменяемости кортежи хранятся в памяти особым образом, поэтому операции с их элементами выполняются быстрее, чем с компонентами списка.
  • Безопасность - неизменяемость также позволяет им быть кандидатами на роль констант. Константы, заданные кортежами, позволяют сделать код более читаемым и безопасным.

Пример кортежей:

Давайте для начала создадим пустой кортеж(tuple):

Что такое Кортежи (Tuple) в python и зачем они?
Что такое Кортежи (Tuple) в python и зачем они?

Теперь добавим в него пару элементов и получим:

Что такое Кортежи (Tuple) в python и зачем они?
Что такое Кортежи (Tuple) в python и зачем они?

Также кортеж может быть из элементов разных типов:

Что такое Кортежи (Tuple) в python и зачем они?
Что такое Кортежи (Tuple) в python и зачем они?

Кортеж может состоять из списка:

Что такое Кортежи (Tuple) в python и зачем они?
Что такое Кортежи (Tuple) в python и зачем они?

К объектам в кортеже можно обращаться, как и к объектам списка, по порядковому номеру:

Что такое Кортежи (Tuple) в python и зачем они?
Что такое Кортежи (Tuple) в python и зачем они?

Подписывайтесь на канал, тут каждый день выходят новые уроки.

Все уроки, а также коды с уроков вы можете найти в моем telegram канале.

Также каждый день в telegram канале появляются полезные книги и пособия с материалом по программированию, а также выходят эффективные фишки, которые значительно упрощают вашу работу с программированием.

22
Начать дискуссию