12.1 Діапазон індексів
Код для отримання підкортежу виглядає так само, як і для отримання підсписку. У цьому плані кортежі дуже на них схожі. Не хотілося б дублювати матеріал, але повторення — мати навчання…
Отримання підкортежів, або slicing, дозволяє витягувати частини кортежу для створення нових кортежів. Цей процес особливо корисний, коли необхідно працювати з певними сегментами даних, збережених у кортежі.
Синтаксис зрізів
Зрізи створюються з використанням квадратних дужок, всередині яких вказуються початковий та кінцевий індекси, розділені двокрапкою. Якщо початковий індекс не вказаний, зріз починається з першого елемента; якщо кінцевий індекс не вказаний, зріз йде до кінця кортежу.
Зріз кортежу можна отримати, використовуючи синтаксис tuple[start:stop:step], де:
-
start— початковий індекс елемента (включно); -
stop— кінцевий індекс елемента (не включно); -
step— крок, з яким відбувається вибірка елементів.
Приклади:
my_tuple = (0, 1, 2, 3, 4, 5)
sub_tuple = my_tuple[1:4] # Отримуємо підкортеж з елементами від індексу 1 до 3
print(sub_tuple) # Виведе (1, 2, 3)
sub_tuple_with_step = my_tuple[0:6:2] # Отримуємо кожен другий елемент від 0 до 5
print(sub_tuple_with_step) # Виведе (0, 2, 4)
Якщо start не вказаний, то за замовчуванням він дорівнює 0, а якщо stop не вказаний — він дорівнює len(tuple). Параметр step за замовчуванням дорівнює 1.
Приклади:
my_tuple = (0, 1, 2, 3, 4, 5)
sub_tuple = my_tuple[1:] # Отримуємо підкортеж з елементами від індексу 1 до 5
print(sub_tuple) # Виведе (1, 2, 3, 4, 5)
sub_tuple_with_step = my_tuple[:5]
print(sub_tuple_with_step) # (0, 1, 2, 3, 4)
12.2 Від'ємні індекси
Від'ємні індекси в Python починаються з -1, що відповідає останньому елементу списку (або кортежу). -2 буде вказувати на передостанній елемент і так далі. Використання від'ємних індексів спрощує доступ до елементів з кінця кортежу без необхідності обчислювати їхню позицію від початку.
Приклади використання
Давайте розглянемо використання від'ємних індексів для формування зрізу. Припустимо, у нас є кортеж зі значеннями:
my_tuple = (10, 20, 30, 40, 50, 60, 70, 80)
Щоб отримати підкортеж, що містить елементи з кінця до середини кортежу, ми можемо використати від'ємні індекси.
sub_tuple = my_tuple[-3:-1]
print(sub_tuple) # Виведе (60, 70)
Таким чином, my_tuple[-3:-1] вибере елементи з індексами -3(третій з кінця) до -1 (не включаючи останній), що дасть нам кортеж (60, 70).
Отримання останнього елемента кортежа:
my_tuple = (10, 20, 30, 40, 50)
last_element = my_tuple[-1]
print(last_element) # Виведе 50
Тут, my_tuple[-1] завжди буде повертати останній елемент кортежа, що дуже зручно, коли точна кількість елементів у кортежі невідома.
Розворот елементів кортежа задом наперед:
my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = my_tuple[::-1]
print(reversed_tuple) # Виведе (50, 40, 30, 20, 10)
Використання зрізу [::-1] дозволяє легко і ефективно перевернути порядок елементів у кортежі, отримуючи новий кортеж з елементами у зворотному порядку.
12.3 Чи є елемент у кортежі
Перевірка наявності елемента в кортежі — стандартна операція, що дозволяє дізнатися, чи є елемент у кортежі. Це робиться за допомогою оператора in, який повертає True, якщо елемент присутній у кортежі, і False у протилежному випадку.
Використання оператора in
Оператор in є простим та інтуїтивно зрозумілим способом для перевірки наявності елемента:
my_tuple = (1, 2, 3, 4, 5)
element = 3
if element in my_tuple:
print(f"{element} is in the tuple.")
else:
print(f"{element} is not in the tuple.")
Перевірка, що елемент відсутній:
Якщо ви хочете переконатися, що елемент відсутній у кортежі, просто використовуйте конструкцію not in:
names = ('Alice', 'Bob', 'Charlie')
search_name = 'Alice'
if search_name not in names:
print(f"{search_name} не в кортежі.")
else:
print(f"{search_name} в кортежі.")
Майже не відрізняється від роботи зі списком — у цьому і є універсальність та простота Python.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ