Россия и Беларусь начали и продолжают войну против народа Украины!

Кортеж (tuple) в Python

  Акод  | 

  Обновл. 18 Апр 2023  | 

 344

Кортеж в Python похож на список. Разница между ними заключается в том, что мы не можем изменить элементы кортежа после присваивания им значений, тогда как элементы списка мы можем изменить.

Создание кортежа в Python

Кортеж создается путем помещения всех элементов в круглые скобки (), разделенные запятыми. Круглые скобки необязательны, однако их использование является хорошей практикой. Кортеж может содержать любое количество элементов, и они могут быть разных типов (int, float, list, string и т.д.). Например:

Результат:

()
(1, 2, 3)
(1, 'Hello', 3.4)
('mouse', [8, 4, 6], (1, 2, 3))

Также мы можем создавать кортежи без использования круглых скобок:

Создание кортежа с одним элементом


В Python при создании кортежа с одним элементом нужно указывать запятую в конце, чтобы указать, что это именно кортеж (а не строка):

Мы можем использовать функцию type(), чтобы узнать, к какому классу принадлежит переменная или значение:

Результат:

<class 'str'>
<class 'tuple'>
<class 'tuple'>

Здесь:

   ("hello")это строка, поэтому функция type() возвращает <class 'str'>;

   ("hello",) и "hello", — оба кортежа, поэтому функция type() возвращает <class 'tuple'>.

Доступ к элементам кортежа в Python

Подобно списку, каждый элемент кортежа представлен индексными номерами (0, 1, …), где индекс первого элемента 0. Номер индекса используется для доступа к элементам кортежа. Например:

1. Индексация

Мы можем использовать оператор индекса [] для доступа к элементу в кортеже, у которого индекс начинается с 0.

Таким образом, кортеж, состоящий из 6 элементов, будет иметь индексы от 0 до 5. Попытка получить доступ к индексу за пределами диапазона индексов кортежа (например, к индексам 6 или 7) вызовет ошибку IndexError.

Индекс должен быть целым числом, поэтому мы не можем использовать тип float или другие типы. Это приведет к ошибке TypeError.

Аналогично, доступ к вложенным кортежам осуществляется с использованием вложенной индексации, как показано в следующем примере:

Здесь:

   letters[0] — обращается к первому элементу;

   letters[5] — обращается к шестому элементу.

2. Отрицательная индексация

Python позволяет и отрицательную индексацию для своих последовательностей. Индекс -1 относится к последнему элементу, индекс -2 относится к предпоследнему элементу и так далее. Например:

Здесь:

   letters[-1] — обращается к последнему элементу;

   letters[-3] — обращается к третьему с конца элементу.

3. Срез

Мы можем получить доступ к диапазону элементов в кортеже, используя оператор среза :.

Результат:

('o', 'g')
('p', 'r')
('i', 'z')
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

Примечание: При выполнении среза в кортежах, первый индекс является включающим, а конечный — исключающим.

Методы для работы с кортежами в Python


В Python методы, которые добавляют или удаляют элементы, не работают с кортежами. Работают только следующие два метода:

Здесь:

   my_tuple.count('p') — подсчитывает общее количество 'p' в кортеже my_tuple;

   my_tuple.index('l') — возвращает индекс первого вхождения 'l' в кортеже my_tuple.

Итерация кортежа в Python

Мы можем использовать цикл for для перебора элементов кортежа. Например:

Результат:

Python
Swift
C++

Проверка, существует ли элемент в кортеже


Ключевое слово in используется для проверки того, существует ли элемент в кортеже или нет. Например:

Здесь:

   'C' — отсутствует в кортеже languages, поэтому результатом является False.

   'Python' — присутствует в кортеже languages, поэтому результатом является True.

Преимущества использования кортежа перед списком в Python

Поскольку кортежи очень похожи на списки, они оба используются в схожих ситуациях. Однако существуют определенные преимущества применения кортежа по сравнению со списком.

   Обычно кортежи используются для элементов разных типов данных, а списки — для элементов похожих типов данных.

   Поскольку кортежи неизменяемы, итерация по кортежу выполняется быстрее, чем по списку. Таким образом, происходит небольшое повышение производительности.

   Кортежи, содержащие неизменяемые элементы, могут использоваться в качестве ключа для словаря. Со списками это невозможно.

   Если у вас есть данные, которые не изменяются, реализация их в виде кортежа гарантирует, что они останутся неизменными.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *