Перейти к основному содержимому

Кортеж

Кортеж хранит несколько элементов в одной переменной.

Это один из 4 встроенных типов, которые Python предлагает для коллекций данных. Остальные — список, множество и словарь, и у каждого свои особенности и способы применения.

Кортеж отличается тем, что он упорядочен и неизменяем.

Кортеж записывается с помощью круглых скобок.

Пример

Создание простого кортежа:

Prompt
Создайте кортеж с названиями трёх фруктов и выведите его.
Вывод: полная программа на Python

Введение

main.py
mytuple = ("apple", "banana", "cherry")

Элементы кортежа

Элементы кортежа определяют три свойства: они сохраняют свой порядок, их нельзя изменять, и одно и то же значение может встречаться несколько раз.

Кроме того, у каждого элемента есть индекс. Отсчёт начинается с нуля, поэтому индекс [0] — это первый элемент, индекс [1] — следующий и так далее.


Упорядоченность

Упорядоченность означает, что кортеж хранит элементы в определённой последовательности и эта последовательность не меняется.


Неизменяемость

После создания кортеж остаётся неизменным: нельзя изменять его элементы, добавлять новые или удалять имеющиеся.


Допускаются повторяющиеся значения

Поскольку у каждого элемента свой индекс, два элемента могут иметь одинаковое значение без всякого конфликта:

Пример

Здесь «apple» и «cherry» встречаются по два раза:

Prompt
Создайте кортеж, содержащий повторяющиеся значения, и выведите его.
Вывод: полная программа на Python

Длина кортежа

Функция len() сообщает, сколько элементов в кортеже:

Пример

Посчитайте элементы и выведите результат:

Prompt
Создайте кортеж из трёх элементов и выведите количество элементов с помощью len().
Вывод: полная программа на Python

Создание кортежа из одного элемента

Кортежу из одного элемента нужна запятая после этого элемента. Без запятой Python не будет считать его кортежем.

Пример

Запятая решает всё:

Prompt
Создайте кортеж из одного элемента с запятой в конце и выведите его тип. Затем создайте такой же без запятой и выведите его тип, чтобы показать разницу.
Вывод: полная программа на Python

Элементы кортежа — типы данных

Кортеж может содержать значения любого типа данных:

Пример

По одному кортежу со строками, целыми числами и логическими значениями:

Prompt
Создайте три кортежа: один со строками, один с целыми числами и один с логическими значениями.
Вывод: полная программа на Python

Пример

В одном кортеже эти типы можно и смешивать:

Prompt
Создайте кортеж, содержащий смесь строк, целых чисел и логических значений.
Вывод: полная программа на Python

type()

Для Python кортеж — это объект с типом данных «tuple»:

Пример

Узнайте у Python тип кортежа:

Prompt
Создайте кортеж и выведите его тип данных с помощью функции type().
Вывод: полная программа на Python

Конструктор tuple()

Кортеж можно также создать, вызвав конструктор tuple().

Пример

Создание кортежа с помощью конструктора tuple():

Prompt
Используйте конструктор tuple(), чтобы создать кортеж, и выведите его.
Вывод: полная программа на Python

Коллекции Python (массивы)

Python предоставляет четыре типа данных для коллекций, и каждый ведёт себя немного по-своему:

  • Список сохраняет порядок и может изменяться. Повторяющиеся элементы допускаются.
  • Кортеж сохраняет порядок, но не может изменяться. Повторяющиеся элементы допускаются.
  • Множество не имеет ни порядка, ни индексов и является неизменяемым*. Повторяющиеся элементы не допускаются.
  • Словарь сохраняет порядок** и может изменяться. Повторяющиеся элементы не допускаются.

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

**Словари упорядочены начиная с Python 3.7. В Python 3.6 и более ранних версиях они не упорядочены.

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