Руководство по использованию кортежей в языке программирования Python
Введение
Tuple или локализовано кортеж — это тип данных очень похожий на список, не считая пары отличий. Рассмотрим как создавать кортеж, делать из него нарезки, преобразовывать в список и примеры его использования.
Чем кортеж отличается от списка?
- Кортеж является неизменным типом данных. После его создания, добавить элементы уже невозможно.
- Кортеж заключаются в круглые скобки (), а не в квадратные [] как список.
Создание кортежа
Рассмотрим пример создания кортежа
data = () type(data) <class 'tuple'>
Чтобы создать кортеж с одним элементом, необходимо добавить элемент и разделить запятой:
data = ('Лето', )
Обрати внимание на самую частую ошибку создания кортежа и постарайся ее не допускать. Если ты создаешь кортеж из одного элемента и не ставишь после него запятую, Python будет считать эту переменную строкой.
data = ('Лето') # python будет считать переменную строкой
Другой способ создания кортежа — это использование встроенной функции tuple()
data = tuple('Лето', 'Зима', 'Осень')
Элементы кортежа могут иметь различные типы данных
data = (2021, 'Лето', 'Зима', 'Осень', 'Весна', 4, True, 5.44)
К элементам кортежа можно получить доступ через их индекс так же, как и к спискам
data = ('Лето', 'Зима', 'Осень', 'Весна') data[2] Осень
Неизменность кортежа
data = ('Лето', 'Зима', 'Осень') data[3] = 'Весна' TypeError: 'tuple' object does not support item assignment
Оператор во второй строке, data[3] = ‘Весна’ пытается изменить значение кортежа, но Python возвращает ошибку типа.
Т.к. мы пытаемся изменить кортеж, что не может быть сделано с этим типом объекта, Python говорит, что мы не можем присвоить новое значение элементу в кортеже:
Нарезка кортежа
data = ('Лето', 'Зима', 'Осень', 'Весна') data[0:3] ('Лето', 'Зима', 'Осень')
Преобразование кортежа в список
data = ('Лето', 'Зима', 'Осень', 'Весна') list(data) ['Лето', 'Зима', 'Осень', 'Весна']
Перебор элементов кортежа
data = ('Лето', 'Зима', 'Осень', 'Весна') for d in data: print(d) Лето Зима Осень Весна
Применение кортежей
Тип данных кортеж может оказаться полезным во многих случаях.
- Кортежи используются для создания нескольких переменных одновременно
a, b, c, d = ('Лето', 'Зима', 'Осень', 'Весна') a 'Лето' b 'Зима' c 'Осень' d 'Весна'
- Кортежи удобно использовать для замены значений переменных
name = 'Egor' age = '30' (name, age) = (age, name) name '30' age 'Egor'
- Кортежи могут позволить функциям возвращать более одного значения
def return_value(a, b, c): return a, b, c return_value(1, 3, 9) (1, 3, 9)
Заключение
Мы детально рассмотрели все способы использования кортежей в Python.