Кортежи - это неизменяемые последовательности, обычно используемые для хранения коллекций разнородных данных. Например двойной кортеж, создаваемый встроенной функцией enumerate(). Кортежи также используются в тех случаях, когда требуется неизменяемая последовательность однородных данных.
Для кортежей доступны все общие операции с последовательностями.
В Python кортежи представлены классом tuple()
.
Кортежи могут быть созданы несколькими способами:
()
.a,
или (a,)
.a, b, c
или (a, b, c)
:f(a, b, c)
- вызов функции с тремя аргументами, f((a, b, c))
- вызов функции с кортежем в качестве единственного аргумента.tuple()
:tuple()
- создаст пустой кортеж,tuple(iterable)
- преобразует контейнер, поддерживающим итерацию в кортеж.Конструктор класса tuple()
создает кортеж, элементы которого совпадают и находятся в том же порядке, что и элементы итератора iterable
. Аргумент iterable
может быть либо последовательностью, контейнером поддерживающим итерацию, либо объектом итератора. Если iterable
уже является кортежем, он возвращается без изменений. Если аргумент не задан, конструктор создает новый пустой кортеж ()
.
Для разнородных коллекций данных, где доступ по имени более понятен, чем доступ по индексу, collections.namedtuple()
может быть более подходящим выбором, чем простой объект кортежа.
tuple
:# Создание кортежа тип tuple >>> () # () >>> tuple() # () >>> 105, # (105,) >>> 1, 'a', 3, 'b' # (1, 'a', 3, 'b') # Преобразование строки str в кортеж тип tuple >>> tuple('abc') # ('a',' b',' c') # Преобразование списка list в кортеж тип tuple >>> tuple([1, 2, 3]) # (1, 2, 3) # Преобразование множества set в кортеж тип tuple >>> tuple({1, 2, 3}) # (1, 2, 3) # Преобразование генератора в кортеж тип tuple >>> tuple(range(5)) # (0, 1, 2, 3, 4)