Кортеж — это неизменяемый список. С момента создания кортеж не может быть изменен никакими способами.
Пример 1.22. Определение кортежей
>>> t = ("a", "b", "mpilgrim", "z", "example")
>>> t ('a', 'b', 'mpilgrim', 'z', 'example') >>> t[0]
'a' >>> t[-1]
'example' >>> t[1:3]
('b', 'mpilgrim')
Кортеж определяется так же, как и список, но элементы перечисляются в круглых скобках вместо квадратных. | |
Как и в списках, элементы в кортежах имеют определенный порядок. Точно так же нумерация элементов начинается с нуля, то есть первым элементом непустого кортежа всегда является t[0]. | |
Как и для списков, отрицательные индексы позволяют вести отсчет элементов с конца кортежа. | |
К кортежам, как и к спискам можно применить операцию среза. Обратите внимание, что срез списка — новый список, а срез кортежа — новый кортеж. |
Пример 1.23. У кортежей нет методов
>>> t ('a', 'b', 'mpilgrim', 'z', 'example') >>> t.append("new")
Traceback (innermost last): File "<interactive input>", line 1, in ? AttributeError: 'tuple' object has no attribute 'append' >>> t.remove("z")
Traceback (innermost last): File "<interactive input>", line 1, in ? AttributeError: 'tuple' object has no attribute 'remove' >>> t.index("example")
Traceback (innermost last): File "<interactive input>", line 1, in ? AttributeError: 'tuple' object has no attribute 'index' >>> "z" in t
1
Вы не можете добавлять элементы в кортеж. У кортежей нет методов append и extend. | |
Вы не можете удалять элементы из кортежа. У кортежей нет методов remove и pop. | |
Вы не можете искать элементы в кортеже с помощью метода index — у кортежей нет такого метода. | |
Однако, вы можете проверить наличие элемента в кортеже с помощью оператора in. |
Так для чего же нужны кортежи?
![]() | |
Кортеж может быть преобразован в список и наоборот. Встроенная функция tuple воспринимает список в качестве аргумента и возвращает кортеж с теми же самыми элементами, и функция list воспринимает кортеж в качестве аргумента и возвращает список. В результате tuple “замораживает” список, а list его “размораживает”. |