Кортежи в Python — упорядоченные, неизменяемые последовательности элементов. Они похожи на списки, но ключевое отличие — неизменяемость после создания.
Зачем использовать кортежи?
Преимущества кортежей перед списками:
- Экономия памяти. Кортежи занимают меньше памяти, чем списки с тем же количеством элементов (например, кортеж занимает 56 байт, а список — 72 байт).
- Защита от изменений. Гарантируют неизменность данных, предотвращая случайные или преднамеренные модификации.
Создание кортежей
Кортежи создаются с помощью круглых скобок (), элементы внутри перечисляются через запятые:
my_tuple = (1, 2, 3, "hello", 4.5)
Пустой кортеж:
empty_tuple = ()
Создание кортежа из строки
Строку можно преобразовать в кортеж:
string_tuple = tuple("Hello world")
print(string_tuple) # Вывод: ('H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
Каждый символ строки становится отдельным элементом.
Кортеж с одним элементом:
single_element_tuple = ("Hello world",) # Запятая обязательна
print(single_element_tuple) # Вывод: ('Hello world',)
single_element = "Hello world" # Не кортеж
print(single_element) # Вывод: Hello world
Запятая, а не скобки, определяет кортеж. Один элемент в скобках без запятой — обычная переменная.
Изменение кортежа
Изменение элемента кортежа приводит к ошибке:
my_tuple[0] = 34 # Ошибка
В отличие от списков, кортежи неизменяемы.
Функции для работы с кортежами
Большинство функций для списков (например, count()) применимы к кортежам. Исключение — функции, изменяющие последовательность (добавление, удаление элементов).
Пример count():
my_tuple = (345, 345, 123)
count = my_tuple.count(345)
print(count) # Вывод: 2
Кортежи — эффективный способ работы с неизменяемыми последовательностями в Python. Они оптимизируют потребление памяти и защищают данные от изменений. Используйте кортежи для неизменяемых структур данных.