Описание тега tuples

В программировании кортежи - это простые * типы продуктов *, представляющие упорядоченные коллекции типов.

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

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

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

>>> l = [1, 'a', [28, 3.5]] #square brackets
>>> t = (1, 'a', [28, 3.5]) #round parentheses 
>>> type(t), type(l)
(<class 'tuple'>, <class 'list'>)
>>> t
(1, 'a', [6, 3.5])
>>> tuple(l)
(1, 'a', [6, 3.5])
>>> t == tuple(l)
True
>>> t == l
False

Также заявление

t = 12345, 54321, 'hello!'

пример упаковки кортежей: значения 12345, 54321 и hello! упаковываются в кортеж. Возможна и обратная операция, например:

>>> brian, x_ray, lemba = t

Это называется распаковкой кортежа. Для распаковки кортежа необходимо, чтобы количество переменных было таким же, как и элементов в кортеже. Обратите внимание, что множественное присваивание действительно просто сочетание кортежа упаковки и кортеж распаковки!

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

>>> t = ('A single item tuple',)
>>> t
('A single item tuple',)

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

>>> t = 'A', 'tuple', 'needs', 'no', 'parens'
>>> t
('A', 'tuple', 'needs', 'no', 'parens')

Ссылка