Кортеж
Кортеж хранит несколько элементов в одной переменной.
Это один из 4 встроенных типов, которые Python предлагает для коллекций данных. Остальные — список, множество и словарь, и у каждого свои особенности и способы применения.
Кортеж отличается тем, что он упорядочен и неизменяем.
Кортеж записывается с помощью круглых скобок.
Пример
Создание простого кортежа:
Вывод: полная программа на Python
thistuple = ("apple", "banana", "cherry")
print(thistuple)
Введение
mytuple = ("apple", "banana", "cherry")
Элементы кортежа
Элементы кортежа определяют три свойства: они сохраняют свой порядок, их нельзя изменять, и одно и то же значение может встречаться несколько раз.
Кроме того, у каждого элемента есть индекс. Отсчёт начинается с нуля, поэтому индекс [0] — это первый элемент, индекс [1] — следующий и так далее.
Упорядоченность
Упорядоченность означает, что кортеж хранит элементы в определённой последовательности и эта последовательность не меняется.
Неизменяемость
После создания кортеж остаётся неизменным: нельзя изменять его элементы, добавлять новые или удалять имеющиеся.
Допускаются повторяющиеся значения
Поскольку у каждого элемента свой индекс, два элемента могут иметь одинаковое значение без всякого конфликта:
Пример
Здесь «apple» и «cherry» встречаются по два раза:
Вывод: полная программа на Python
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
Длина кортежа
Функция len() сообщает, сколько элементов в кортеже:
Пример
Посчитайте элементы и выведите результат:
Вывод: полная программа на Python
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))
Создание кортежа из одного элемента
Кортежу из одного элемента нужна запятая после этого элемента. Без запятой Python не будет считать его кортежем.
Пример
Запятая решает всё:
Вывод: полная программа на Python
thistuple = ("apple",)
print(type(thistuple))
# НЕ кортеж
thistuple = ("apple")
print(type(thistuple))
Элементы кортежа — типы данных
Кортеж может содержать значения любого типа данных:
Пример
По одному кортежу со строками, целыми числами и логическими значениями:
Вывод: полная программа на Python
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
Пример
В одном кортеже эти типы можно и смешивать:
Вывод: полная программа на Python
tuple1 = ("abc", 34, True, 40, "male")
type()
Для Python кортеж — это объект с типом данных «tuple»:
Пример
Узнайте у Python тип кортежа:
Вывод: полная программа на Python
mytuple = ("apple", "banana", "cherry")
print(type(mytuple))
Конструктор tuple()
Кортеж можно также создать, вызвав конструктор tuple().
Пример
Создание кортежа с помощью конструктора tuple():
Вывод: полная программа на Python
thistuple = tuple(("apple", "banana", "cherry"))
print(thistuple)
Коллекции Python (массивы)
Python предоставляет четыре типа данных для коллекций, и каждый ведёт себя немного по-своему:
- Список сохраняет порядок и может изменяться. Повторяющиеся элементы допускаются.
- Кортеж сохраняет порядок, но не может изменяться. Повторяющиеся элементы допускаются.
- Множество не имеет ни порядка, ни индексов и является неизменяемым*. Повторяющиеся элементы не допускаются.
- Словарь сохраняет порядок** и может изменяться. Повторяющиеся элементы не допускаются.
*Вы не можете изменять элементы множества, когда они уже в нём, но можете в любой момент добавлять новые или убирать имеющиеся.
**Словари упорядочены начиная с Python 3.7. В Python 3.6 и более ранних версиях они не упорядочены.
Эти свойства стоит знать до того, как вы выберете тип для своих данных. Правильный выбор помогает сохранить смысл данных, а также может сделать программу эффективнее или безопаснее.