№10 Кортежи (tuple) / Уроки по Python для начинающих

51

Предыдущий урок: Списки (list)

Кортеж — это упорядоченная последовательность, неизменяемая. В Python кортежи пишутся в круглых скобках.
Создание кортежа:

thistuple = ("помидор",  "огурец",  "лук")
print(thistuple)

Вывод:

('помидор', 'огурец', 'лук')

Доступ к элементам кортежа

Вы можете получить доступ к элементам кортежа с помощью индекса.
Вывести элемент с индексом 1:

thistuple = ("помидор",  "огурец",  "лук")
print(thistuple[1])

Вывод:

огурец

Изменить элемент корежа

После создания кортежа вы не можете вносить изменения в него. Кортеж — неизменяемый.

thistuple = ("помидор",  "огурец",  "лук")
thistuple[1] =  "морковка"  

Вывод:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    thistuple[1] =  "морковка"
TypeError: 'tuple' object does not support item assignment

Итерация по кортежу

Вы можете перебирать элементы кортежа с помощью цикла for.

thistuple = ("помидор",  "огурец",  "лук")
for x in thistuple:  
    print(x)

Вывод:

помидор
огурец
лук

Узнать больше о цикле for вы можете в разделе Python цикл For.

Длина кортежа

Для определения количества элементов списка, используйте метод len().
Выведите количество элементов в кортеже:

thistuple = ("помидор",  "огурец",  "лук")
print(len(thistuple))

Вывод:

3

Добавление элементов

После создания кортежа, вы не можете добавлять в него элементы. Кортеж — неизменяемый.

thistuple = ("помидор",  "огурец",  "лук")
thistuple[3] = "морковка"  

Вывод:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    thistuple[3] =  "морковка"
TypeError: 'tuple' object does not support item assignment

Удаление элементов

Вы не можете удалять элементы по отдельности, но вы можете полностью удалить кортеж:
Ключевое слово del может полностью удалить кортеж:

thistuple = ("помидор",  "огурец",  "лук")  
del thistuple  
print(thistuple)  # эта команда вызовет ошибку, так как thistuple больше не существует

Конструктор tuple()

Так же конструктор tuple() можно использовать для создания кортежа.

thistuple = tuple(("помидор",  "огурец",  "лук"))  # Обратите внимание на двойные круглые скобки  
print(thistuple)

Методы кортежа

В Python так же существуют два встроенных метода, которые вы можете использовать при работе.

МетодЗначение
count()Возвращает количество раз, которое указанный элемент встречается в кортеже
index()Ищет кортеж по указанному значению и возвращает его индекс

Далее: Множества (set)