Кортежи (tuple)

Кортеж, по сути - неизменяемый список.

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

Как работать с кортежами?

Примерно так же, как и со списками.

Создаем пустой кортеж:


>>> a = tuple() # С помощью встроенной функции tuple()
>>> a
()
>>> a = () # С помощью литерала кортежа
>>> a
()
>>>

Создаем кортеж из одного элемента:


>>> a = ('s')
>>> a
's'

Получилась строка.

    
>>> a = ('s', )
>>> a
('s',)

Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами и переносом строк. Кстати, кортеж можно создать и так:


>>> a = 's',
>>> a
('s',)

Но бывают случаи, когда скобки необходимы.

Ну и создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()


>>> a = tuple('hello, world!')
>>> a
('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!')

Операции с кортежами

Все операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.

Например - поменять местами значения двух переменных:

a, b = b, a