Python: кортеж (tuple)
Кортеж — это коллекция, похожая на список Python. Основное отличие в том, что мы не можем изменить кортеж после его создания.
Создание кортежа в Python
Мы создаём кортеж, помещая элементы внутри круглых скобок (). Например,
numbers = (1, 2, -5)
print(numbers)
# Output: (1, 2, -5)
Подробнее о создании кортежа
Создание кортежа с помощью конструктора tuple()
Мы также можем создать кортеж с помощью конструктора tuple(). Например,
tuple_constructor = tuple(('Jack', 'Maria', 'David'))
print(tuple_constructor)
# Output: ('Jack', 'Maria', 'David')
Разные типы кортежей в Python
Вот разные типы кортежей, которые мы можем создать в Python.
Пустой кортеж
# создаём пустой кортеж
empty_tuple = ()
print(empty_tuple)
# Output: ()
Кортеж разных типов данных
# кортеж строк
names = ('James', 'Jack', 'Eva')
print (names)
# кортеж чисел с плавающей точкой
float_values = (1.2, 3.4, 2.1)
print(float_values)
Кортеж смешанных типов данных
# кортеж со строкой и числом
mixed_tuple = (2, 'Hello', 'Python')
print(mixed_tuple)
# Output: (2, 'Hello', 'Python')
Характеристики кортежа
Кортежи:
Упорядочены — они сохраняют порядок элементов.
Неизменяемы — их нельзя изменить после создания.
Допускают дубликаты — могут содержать повторяющиеся значения.
Доступ к элементам кортежа
Каждый элемент в кортеже связан с числом, известным как индекс.
Индекс всегда начинается с 0, то есть первый элемент кортежа имеет индекс 0, второй элемент — индекс 1, и так далее.
Доступ к элементам по индексу
Мы используем индексы для доступа к элементам кортежа. Например,
languages = ('Python', 'Swift', 'C++')
# доступ к первому элементу
print(languages[0]) # Python
# доступ к третьему элементу
print(languages[2]) # C++
Кортеж нельзя изменить
Кортежи Python неизменяемы. Мы не можем добавлять, изменять или удалять элементы кортежа.
Если мы попытаемся изменить кортеж, мы получим ошибку. Например,
cars = ('BMW', 'Tesla', 'Ford', 'Toyota')
# пытаемся изменить кортеж
cars[0] = 'Nissan' # ошибка
print(cars)
Длина кортежа
Мы используем функцию len() для нахождения количества элементов в кортеже. Например,
cars = ('BMW', 'Tesla', 'Ford', 'Toyota')
print('Total Items:', len(cars))
# Output: Total Items: 4
Итерация по кортежу
Мы используем цикл for для перебора элементов кортежа. Например,
fruits = ('apple','banana','orange')
# перебираем кортеж
for fruit in fruits:
print(fruit)
Вывод
apple
banana
orange
Подробнее о кортежах в Python
Проверка наличия элемента в кортеже
Мы используем ключевое слово in, чтобы проверить, существует ли элемент в кортеже. Например,
colors = ('red', 'orange', 'blue')
print('yellow' in colors) # False
print('red' in colors) # True
Здесь:
yellow отсутствует в
colors, поэтому'yellow' in colorsвозвращаетFalse;red присутствует в
colors, поэтому'red' in colorsвозвращаетTrue.
Изменение элементов кортежа
Кортежи Python неизменяемы — мы не можем изменить элементы кортежа после его создания.
Если мы попытаемся это сделать, получим ошибку. Например,
fruits = ('apple', 'cherry', 'orange')
# пытаемся изменить второй элемент на 'banana'
fruits[1] = 'banana'
print(fruits)
# Output: TypeError: 'tuple' object does not support item assignment
Удаление кортежей
Мы не можем удалять отдельные элементы кортежа. Однако мы можем удалить сам кортеж с помощью оператора del. Например,
animals = ('dog', 'cat', 'rat')
# удаляем кортеж
del animals
Здесь мы удалили кортеж animals.
Создание кортежа с одним элементом
Когда мы хотим создать кортеж с одним элементом, мы можем сделать следующее:
var = ('Hello')
print(var) # строка
Но это не создаст кортеж — это будет строка.
Чтобы решить эту проблему, нужно поставить запятую после элемента. Например,
var = ('Hello',)
print(var) # кортеж
# Output: ('Hello',)