Кортежи в 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