- ru
- Language: en
- Documentation version: latest
Кортеж (Tuple)
Кортеж в Python это:
последовательность элементов, которые разделены между собой запятой и заключены в скобки
неизменяемый упорядоченный тип данных
Грубо говоря, кортеж - это список, который нельзя изменить. То есть, в кортеже есть только права на чтение. Это может быть защитой от случайных изменений.
Создать пустой кортеж:
In [1]: tuple1 = tuple()
In [2]: print(tuple1)
()
Кортеж из одного элемента (обратите внимание на запятую):
In [3]: tuple2 = ('password',)
Кортеж из списка:
In [4]: list_keys = ['hostname', 'location', 'vendor', 'model', 'ios', 'ip']
In [5]: tuple_keys = tuple(list_keys)
In [6]: tuple_keys
Out[6]: ('hostname', 'location', 'vendor', 'model', 'ios', 'ip')
К объектам в кортеже можно обращаться, как и к объектам списка, по порядковому номеру:
In [7]: tuple_keys[0]
Out[7]: 'hostname'
Но так как кортеж неизменяем, присвоить новое значение нельзя:
In [8]: tuple_keys[1] = 'test'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-1c7162cdefa3> in <module>()
----> 1 tuple_keys[1] = 'test'
TypeError: 'tuple' object does not support item assignment
Функция sorted сортирует элементы кортежа по возрастанию и возвращает новый список с отсортированными элементами:
In [2]: tuple_keys = ('hostname', 'location', 'vendor', 'model', 'ios', 'ip')
In [3]: sorted(tuple_keys)
Out[3]: ['hostname', 'ios', 'ip', 'location', 'model', 'vendor']