Python работа с кортежами¶
Кортеж являются неизменяемым типом данных
Определение котрежа¶
В круглых скобках () идет перечисление элементов
tup1 = (элемент1, элемент2, элемент3)
Кортеж по сути это неизменяемый список.
Создание кортежа¶
# Пишется как список только в круглых скобках.
In [584]: tup1 = (1,2,3,4)
In [585]: tup1
Out[585]: (1, 2, 3, 4)
Назначение и использование кортежа¶
Кортеж нужен, чтобы хранить неизменяемы данные и быть спокойными, что эти данные точно не поменяются в ходе выполнения алгоритма программы...
Кортеж занимает меньше места в памяти по сравнению со
списком, т.к. для списка всегда выделяется(резервируется) больше, т.к элементы списка
могут быть добавлены, т.н. "over allocation"...
# Пример сравнения выделенной памяти список vs кортеж
In [589]: import sys
In [590]: sys.getsizeof(list1)
Out[590]: 88
In [591]: sys.getsizeof(tup1)
Out[591]: 72
Использование кортежа в качестве ключа и значений для словаря¶
# Создадим словарь где в качестве ключей и значений используем кортеж
In [592]: topo1 = {('r1','f0/1'): ('r2','f0/2'),
...: ('r3','f0/3'): ('r2','f0/4')}
# Тогда значение по ключу будет выглядеть так
In [593]: topo1 [('r1','f0/1')]
Out[593]: ('r2', 'f0/2')
Работа с элементами кортежа¶
Обращение к элементам¶
In [594]: tup1 = (1,2,3,4)
In [595]: tup1[0]
Out[595]: 1
In [596]: tup1[1]
Out[596]: 2
In [597]: tup1[-1]
Out[597]: 4
Срез¶
In [600]: tup1[::-1]
Out[600]: (4, 3, 2, 1)
In [601]: tup1[0:2]
Out[601]: (1, 2)
# кортеж из одного элемента
In [602]: tup1[0:1]
Out[602]: (1,)
Суммирование кортежей¶
In [603]: tup1 = (1,2,3,4)
In [604]: tup2 = (5,6,7)
In [605]: tup3 = tup1 +tup2
In [606]: tup3
Out[606]: (1, 2, 3, 4, 5, 6, 7)
Передача списка в кортеж tuple()¶
# передаем список list1 в кортеж tup1
In [586]: list1 =[1,2,3]
In [587]: tup1 = tuple(list1)
In [588]: tup1
Out[588]: (1, 2, 3)
Передача кортежа в список list()¶
In [607]: tup1 = (1,2,3,4)
In [608]: list1 = list(tup1)
In [609]: list1
Out[609]: [1, 2, 3, 4]
Длина кортежа len()¶
In [610]: list1
Out[610]: [1, 2, 3, 4]
In [611]: tup1 = (1,2,3,4)
In [612]: len(tup1)
Out[612]: 4
Последнее обновление: 2023-05-29