Перейти к содержанию

Кортежи в Python

Материал из Викижурнал
Кортежи в Python
Кортежи в Python
Кортежи в Python
Тематические порталы
Портал ПрограммистовПортал Python

Списки хорошо работают для хранения наборов элементов, которые могут меняться во время использования программы. Возможность изменять списки особенно важно, когда работаете со данными пользователей на веб-сайте или списком персонажей в игре и т.д. Однако иногда необходимо создать список элементов, который не может быть изменен. Кортежи позволяют сделать это. Python ссылается на значения, которые нельзя изменить. Другими словами кортеж — это неизменяемый список.

Создание кортежа

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

Например, если у нас есть прямоугольник, который всегда должен быть определенного размера, мы можем гарантировать, что его размер не изменится, поместив размеры в кортеж:

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

Мы определяем кортеж, используя круглые скобки вместо квадратных. Далее выводим каждый элемент в кортеже индивидуально, используя тот же синтаксис, который мы использовали для доступа к элементам в списке, хотя можно точно также выводить и значения всего кортежа. В общем мы получаем следующий результат:

200
50

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

dimensions = (200, 50)
dimensions[0] = 250

Код пытается изменить значение первого значения, однако Python возвращает ошибку. В основном, потому что мы пытаемся изменить кортеж. Python сообщает нам, что мы не можем присвоить новое значение элементу в кортеже:

Traceback (most recent call last):
File "dimensions.py", line 3, in <module>
dimensions[0] = 250
TypeError: 'tuple' object does not support item assignment

Примечание

Другими словами кортежи очень схожи со своими свойствами со списком и точно также можем выводить данные, однако никак невозможно изменить данные, сохранённые в нём. Если есть вопросы, то оставляйте их на странице обсуждения.

Другие статьи о Python