Кортежи

В этой статье мы поговорим о таком типе данных в Python, как кортежи (tuple).

Кортежи - почти как изученные нами ранее списки, за исключением того, что они неизменяемы.

Как создаётся кортеж?

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

a = (1, 2, 3, 0, -1, 2)

Скобок может вообще не быть:

a = 1, 2, 3, 0, -1, 2

Пустой кортеж:

a = ()

А вот кортеж из одного элемента выглядит иначе:

a = (1, )

Здесь обязательна запятая, иначе Python не сможет отличить одноэлементный кортеж от просто числа.

Зачем нужен кортеж, если есть списки?

  • Кортежи занимают немного меньше памяти и работают чуть быстрее до тех пор, пока вы не собираетесь изменять его содержимое
  • Кортежи лучше защищены от ненамеренного изменения данных
  • Кортежи могут быть использованы в местах, требующих неизменяемый тип данных
  • Некоторые функции работают только с кортежами

С кортежами можно работать так же, как и со списками, кроме методов, изменяющих список (таких, как append, extend, pop, sort и др.). Также есть доступ по индексу, есть срезы (только срез кортежа вернёт кортеж, а не список).