Кортежи в Python: зачем нужны

Кортеж похож на список, но его нельзя менять. Разберём, зачем это нужно.

Что такое кортеж

Кортеж (tuple) — это упорядоченный набор значений в круглых скобках. Как и у списка, у него есть индексы и его можно перебирать. Главное отличие: кортеж неизменяемый — после создания элементы не поменять.

point = (3, 5)
print(point[0])   # 3

Зачем нужна неизменяемость

Неизменяемость защищает данные, которые не должны меняться: координаты, дату, пару «широта-долгота». Кортеж чуть быстрее списка и может быть ключом словаря, а список — нет. Функция может вернуть сразу несколько значений именно кортежем.

def size():
    return 10, 20   # это кортеж
w, h = size()

Список или кортеж

Берите список, когда набор будет меняться (добавлять, удалять элементы). Берите кортеж, когда набор фиксирован и его нужно защитить от случайных изменений.

Частые вопросы

Можно ли изменить кортеж? Нет, для этого создают новый кортеж.

Чем скобки кортежа отличаются от списка? У кортежа круглые ( ), у списка квадратные [ ].

Начать игру бесплатно