Python - Кортежи: Руководство для начинающих

Привет, будущие энтузиасты Python! Сегодня мы отправляемся в захватывающее путешествие по миру Python-кортежей. Не волнуйтесь, если вы еще никогда не программировали — я буду рядом с вами, объясняя все шаг за шагом. Так что возьмите чашечку кофе (или чая, если вам больше нравится), и погружаемся!

Python - Tuples

Что такое кортеж?

Перед тем как начать, давайте понимем, что такое кортеж. Представьте себе кортеж как контейнер, который может содержать несколько элементов, похоже на коробку с разнообразными шоколадными конфетами. Подвох? Как только вы упаковали свои конфеты (или данные) в эту коробку, вы больше не сможете их изменить!

Вот как мы создаем кортеж:

my_first_tuple = (1, 2, 3, 'привет', 'мир')
print(my_first_tuple)

Когда вы выполните этот код, вы увидите:

(1, 2, 3, 'привет', 'мир')

Видите, как это просто? Мы только что создали наш первый кортеж!

Доступ к значениям в кортежах

Теперь, когда у нас есть кортеж, давайте научимся доступу к элементам внутри него. Мы делаем это с помощью такого cosa, как "индекс". Представьте индекс как номер позиции элемента в кортеже, начиная с 0.

my_tuple = ('яблоко', 'банан', 'черника', 'дата')
print(my_tuple[0])  # Это выведет 'яблоко'
print(my_tuple[2])  # Это выведет 'черника'

Вывод:

яблоко
черника

Помните, в Python (и многих других языках программирования) мы начинаем считать с 0, а не с 1. Это как странная игра в прятки, где "0" кричит "Готовы или нет, я иду!"

Обновление кортежей

Помните, как я говорил, что кортежи — это как коробки конфет, которые вы не можете изменить после упаковки? Я не шутил! Кортежи являются неизменяемыми, что означает, что вы не можете изменить их содержимое после создания.

my_tuple = ('яблоко', 'банан', 'черника')
my_tuple[0] = 'груша'  # Это вызовет ошибку!

Если вы попробуете выполнить этот код, Python выдаст ошибку, потому что вы пытаетесь изменить что-то, что не может быть изменено.

Но подождите! Есть обходной путь. Вы можете преобразовать кортеж в список, сделать изменения и затем преобразовать его обратно в кортеж:

my_tuple = ('яблоко', 'банан', 'черника')
my_list = list(my_tuple)
my_list[0] = 'груша'
my_new_tuple = tuple(my_list)
print(my_new_tuple)

Вывод:

('груша', 'банан', 'черника')

Это как магия, не так ли? Мы фактически создали новый кортеж с изменениями, которые мы хотели.

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

Так же, как мы не можем обновить отдельные элементы, мы также не можем удалить отдельные элементы из кортежа. Однако мы можем удалить весь кортеж:

my_tuple = ('яблоко', 'банан', 'черника')
del my_tuple
print(my_tuple)  # Это вызовет ошибку, потому что my_tuple больше не существует

Это как выбросить весь ящик конфет, а не просто выбрать те, которые вам не нравятся!

Операции с кортежами Python

Кортежи поддерживают несколько операций. Давайте рассмотрим некоторые из них:

Конкатенация

Мы можем объединить два кортежа с помощью оператора '+':

tuple1 = (1, 2, 3)
tuple2 = ('а', 'б', 'в')
tuple3 = tuple1 + tuple2
print(tuple3)

Вывод:

(1, 2, 3, 'а', 'б', 'в')

Повторение

Мы можем повторить кортеж с помощью оператора '*':

my_tuple = ('Python',) * 3
print(my_tuple)

Вывод:

('Python', 'Python', 'Python')

Проверка наличия элемента

Мы можем проверить, существует ли элемент в кортеже с помощью ключевого слова 'в':

my_tuple = ('яблоко', 'банан', 'черника')
print('банан' в my_tuple)
print('виноград' в my_tuple)

Вывод:

True
False

Индексирование, срезы и матрицы

Кортежи поддерживают индексирование и срезы, как и списки. Давайте рассмотрим несколько примеров:

my_tuple = ('п', 'и', 'т', 'х', 'о', 'н')
print(my_tuple[1:4])  # Срез
print(my_tuple[::-1])  # Обратить кортеж

Вывод:

('и', 'т', 'х')
('н', 'о', 'х', 'т', 'и', 'п')

Нет заключающих скобок

Вот интересный факт: в Python вы можете создавать кортежи без скобок! Это называется "упаковка кортежа":

my_tuple = 1, 2, 3, 'привет'
print(my_tuple)
print(type(my_tuple))

Вывод:

(1, 2, 3, 'привет')
<class 'tuple'>

Даже без скобок Python распознает это как кортеж!

Встроенные функции с кортежами

Python предоставляет несколько встроенных функций, которые работают с кортежами. Давайте рассмотрим некоторые из них:

Функция Описание Пример
len() Возвращает длину кортежа len((1, 2, 3)) возвращает 3
max() Возвращает самый большой элемент в кортеже max((1, 5, 3)) возвращает 5
min() Возвращает самый маленький элемент в кортеже min((1, 5, 3)) возвращает 1
sum() Возвращает сумму всех чисел в кортеже sum((1, 2, 3)) возвращает 6
sorted() Возвращает новый отсортированный список из кортежа sorted((3, 1, 2)) возвращает [1, 2, 3]

Вот пример использования этих функций:

my_tuple = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
print("Длина:", len(my_tuple))
print("Максимум:", max(my_tuple))
print("Минимум:", min(my_tuple))
print("Сумма:", sum(my_tuple))
print("Отсортированный:", sorted(my_tuple))

Вывод:

Длина: 11
Максимум: 9
Минимум: 1
Сумма: 44
Отсортированный: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

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

Credits: Image by storyset