Кортеж (tuple) в Python

 21976

 ǀ   1 

Кортеж в 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 Зірок (29 оцінок, середня: 5,00 з 5)
Завантаження...

Коментарів: 1

  1. Гліб :

    Цікавий екскурс. Дякую, що опублікували цю статтю.

Залишити відповідь

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