Урок 9 из 84 · Основы Python
Кортежи (tuple)
Содержание урока
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