Что такое кортеж в Python? Кортеж в Python - это неизменяемая последовательность значений, аналогичная списку. Однако кортежи не могут быть изменены после создания, что означает, что вы не можете добавлять, удалять или изменять элементы в кортеже.
Создание Кортежа в Python
Для создания кортежа вы можете использовать круглые скобки ()
и разделять элементы запятыми ,
.
Вот пример создания кортежа в Python с тремя элементами:
my_tuple = (1, "hello", 3.14)
Вы также можете создать пустой кортеж, используя пустые круглые скобки ():
empty_tuple = ()
Если вы хотите создать кортеж с только одним элементом, вам нужно добавить запятую после элемента, потому что без неё Python будет интерпретировать круглые скобки только как операторы группировки, а не как кортеж:
single_tuple = (1,)
Индексы Кортежа
Вы можете получить доступ к элементам кортежа в Python с помощью индексации, так же, как в списках.
Как мы уже упоминали, индексация в Python начинается с 0. Это означает, что первый элемент в кортеже имеет индекс 0, второй элемент имеет индекс 1 и так далее. Также поддерживается отрицательная индексация, что означает, что последний элемент в кортеже имеет индекс -1, предпоследний элемент имеет индекс -2 и так далее.
Вот пример доступа к элементам кортежа с использованием индексации:
my_tuple = ('apple', 'banana', 'cherry')
print(my_tuple[0]) # Output: 'apple'
print(my_tuple[1]) # Output: 'banana'
print(my_tuple[-1]) # Output: 'cherry'
Как Добавить Элемент в Кортеж в Python
В Python кортежи являются неизменяемыми, что означает, что после их создания их элементы нельзя изменить. Однако вы можете создать новый кортеж, объединив существующие кортежи и другие элементы. Таким образом, чтобы "добавить" элемент в кортеж, вы по сути создадите новый кортеж, который включает существующие элементы вместе с новым элементом. Вот несколько способов сделать это:
Использование оператора +
для создания нового кортежа:
existing_tuple = (1, 2, 3)
new_element = 4
# Concatenate the existing tuple with a new tuple containing the new element
new_tuple = existing_tuple + (new_element,)
print(new_tuple)
Использование оператора увеличенного присваивания +=
:
existing_tuple = (1, 2, 3)
new_element = 4
# Use the += operator to concatenate the existing tuple with a new tuple containing the new element
existing_tuple += (new_element,)
print(existing_tuple)
Оба этих метода создают новый кортеж, объединяя элементы существующего кортежа с новым элементом, эффективно "добавляя" элемент в кортеж. Помните, что кортежи являются неизменяемыми, поэтому вы фактически создаёте новый кортеж, а не изменяете оригинальный.
Отсортированный Список Кортежей
Вы можете отсортировать список кортежей в Python, используя функцию sorted и передавая аргумент ключа, который указывает, как сравнивать элементы в каждом кортеже. Вот пример:
# define a list of tuples
my_list = [(1, 2), (3, 1), (2, 4)]
# sort the list by the first element in each tuple
sorted_list = sorted(my_list, key=lambda x: x[0])
print(sorted_list) # Output: [(1, 2), (2, 4), (3, 1)]
Вы также можете отсортировать список кортежей в обратном порядке, установив аргумент reverse в True:
# define a list of tuples
my_list = [(1, 2), (3, 1), (2, 4)]
# sort the list by the second element in each tuple in reverse order
sorted_list = sorted(my_list, key=lambda x: x[1], reverse=True)
print(sorted_list) # Output: [(2, 4), (1, 2), (3, 1)]
Именованный Кортеж в Python
Именованный кортеж является подклассом встроенного типа данных кортеж, который позволяет обращаться к полям по имени, а также по позиции индекса.
Именованные кортежи создаются с использованием функции collections.namedtuple
. Вот пример:
from collections import namedtuple
# create a named tuple with two fields: 'x' and 'y'
Point = namedtuple('Point', ['x', 'y'])
# create an instance of the named tuple
p = Point(1, 2)
# access fields by index
print(p[0]) # prints 1
# access fields by name
print(p.x) # prints 1
print(p.y) # prints 2
Именованные кортежи похожи на обычные кортежи, но с дополнительным преимуществом наличия именованных полей, которые могут сделать код более читаемым и самодокументирующим. Они неизменяемы, как и обычные кортежи, поэтому их поля не могут быть изменены после создания.
Кортеж Внутри Списка в Python
В некоторых случаях нам нужно создать список кортежей, например, для группировки связанных данных. Вы можете создать список, содержащий кортежи, используя следующий синтаксис:
my_list = [(item1, item2), (item3, item4), (item5, item6)]
Каждый кортеж в списке может содержать несколько элементов, которые могут быть любого типа данных, включая строки, числа и другие кортежи. Вот пример списка, содержащего кортежи с разными типами данных:
my_list = [("apple", 2), ("orange", 3), ("banana", 4.5), ("grape", ("red", "green"))]
Вы можете получить доступ к элементам кортежа внутри списка с помощью индексации. Например, чтобы получить доступ ко второму элементу в первом кортеже в списке выше, вы можете использовать следующий код:
print(my_list[0][1]) # Output: 2
Добавление Кортежа
Чтобы добавить кортеж в список в Python, вы можете использовать метод append()
. Вот пример:
my_list = [(1, 2), (3, 4)]
new_tuple = (5, 6)
my_list.append(new_tuple)
print(my_list) # Output: [(1, 2), (3, 4), (5, 6)]
Изучите глубже эту тему
Пишите вместе с нами!
Вы можете внести свой вклад в статьи о Python на GitHub: создайте Fork, внесите правки и отправьте нам Pull request.