
Шаг 2. Кортеж
Баллов за прохождение: 1
Кортеж
Кортеж, или tuple - это неизменяемая последовательность элементов. Он может содержать элементы различных типов данных и создается с использованием круглых скобок: ().
Кортежи подобны спискам, но их основное различие заключается в том, что они не могут быть изменены после создания. Сделано это для двух причин: первое, это безопасность данных, например чтобы в процессе программы какой-либо элемент по какому-либо индексу не заменился, а также его главное преимущество - производительность, так как кортеж не имеет тех же методов для изменения элементов, он работает быстрее.
Также, так как кортеж является неизменяемым, его можно использовать в качестве ключа (индекса) для словаря. Однако о словарях мы поговорим позже.
Создание
mytuple1 = tuple() # пустой кортеж
mytuple2 = ('hello',) # кортеж с 1 элементом
mytuple3 = ('hello', 'world', '!', 1, 2, 3)
Прошу обратить внимание на кортеж с 1 элементом. После первого элемента обязательно ставится запятая, иначе получится обычная строчка.
Методы
Кортеж поддерживает все методы списка, за исключением тех, что его изменяют.
index(): Возвращает индекс первого вхождения указанного элемента
my_tuple = (1, 2, 3, 4, 5)
my_tuple = my_tuple.index(2)
print(my_tuple) # 1
count(): Возвращает кол-во вхождений указанного элемента в кортеже
my_tuple = (1, 2, 3, 4, 5, 5, 5)
my_tuple = my_tuple.count(5)
print(my_tuple) # 3
Обращение по индексу и срезы
Как и в случае со списком, мы можем обратиться к элементу кортежа по его индексу
my_tuple = (1, 2, 3, 4, 5, 5, 5)
print(my_tuple[3]) # 4
И использовать срезы
my_tuple = (1, 2, 3, 4, 5, 5, 5)
print(my_tuple[3:6]) # (4, 5, 5)