3.1 Діапазон індексів
Отримання підсписку зі списку — це поширене завдання, яке розв'язується за допомогою механізму зрізів (slicing). Срези дозволяють отримати елементи зі списку, вказуючи початковий та кінцевий індекси діапазону, а також крок, з яким потрібно отримувати елементи.
Використання зрізів
Срез списку можна отримати, використовуючи синтаксис list[start:stop:step], де:
-
start— початковий індекс елемента (включно); -
stop— кінцевий індекс елемента (не включено); -
step— крок, з яким відбувається вибірка елементів.
Синтаксис зрізів дозволяє вказувати початковий та кінцевий індекси списку, який ви хочете отримати. Пам'ятаємо, що індексація в Python йде з нуля, тобто перший елемент має індекс 0, а третій — індекс 2.
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Отримання підсписку з третього по сьомий елемент
sub_list = my_list[2:7]
print(sub_list) # [2, 3, 4, 5, 6]
# Отримання кожного другого елемента списку
step_list = my_list[0:10:2]
print(step_list) # [0, 2, 4, 6, 8]
Якщо start не вказаний, за замовчуванням він дорівнює початку списку, а якщо stop не вказаний — кінцю списку. Якщо step не вказаний, за замовчуванням він дорівнює 1.
Приклади:
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# З початку до третього елемента
sub_list = my_list[:3]
print(sub_list) # [0, 1, 2]
# З першого елемента/індексу і до кінця
step_list = my_list[1:]
print(step_list) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
3.2 Від'ємні індекси
У Python від'ємні індекси надають потужний спосіб роботи зі списками, дозволяючи звертатися до елементів з кінця списку. Це особливо корисно для отримання підсписків, не знаючи точної довжини вихідного списку.
| Елементи списку | a | b | c | d | e |
|---|---|---|---|---|---|
| Позитивний індекс | 0 | 1 | 2 | 3 | 4 |
| Негативний індекс | -5 | -4 | -3 | -2 | -1 |
Від'ємні індекси в Python починаються з -1, що відповідає останньому елементу списку. -2 буде вказувати на передостанній елемент і так далі. Використання від'ємних індексів спрощує доступ до елементів з кінця списку без необхідності обчислювати їх позицію від початку.
Приклади використання
Припустимо, у вас є список:
my_list = ['a', 'b', 'c', 'd', 'e']
Щоб отримати останні три елементи, можна використовувати срез з від'ємними індексами:
sub_list = my_list[-3:]
print(sub_list) # Виведе ['c', 'd', 'e']
Якщо потрібно отримати підсписок між якимись елементами, починаючи з кінця, можна поєднати від'ємні та додатні індекси:
sub_list = my_list[-4:3]
print(sub_list) # Виведе ['b', 'c']
Можна навіть розгорнути список задом наперед
За допомогою параметра step можна створювати більш складні зрізи, наприклад, для отримання елементів у зворотному порядку:
sub_list = my_list[::-1]
print(sub_list) # Виведе ['e', 'd', 'c', 'b', 'a']
Переваги використання від'ємних індексів:
- Спрощення коду: Доступ до елементів з кінця списку стає інтуїтивно зрозумілим і не вимагає додаткових обчислень.
- Універсальність: Підхід працює з будь-яким списком, незалежно від його розміру.
- Читаємость: Код стає простішим для читання та розуміння, особливо коли потрібно працювати з останніми елементами списку.
Від'ємні індекси — це потужний інструмент в арсеналі Python-програміста, що дозволяє ефективно і коротко керувати підсписками, покращуючи читабельність і гнучкість коду.
3.3 Чи є елемент у списку?
Перевірка наявності елемента у списку часто використовується для керування потоком даних і логікою програм. У Python це можна зробити за допомогою оператора in, який повертає True, якщо елемент присутній у списку, і False в іншому випадку.
Використання оператора in
Оператор in є простим і інтуїтивно зрозумілим способом для перевірки наявності елемента:
my_list = [1, 2, 3, 4, 5]
element = 3
exists = element in my_list
print(exists) # Виведе True
Застосування в умовних виразах
Оператор in часто використовується в умовних операторах, наприклад:
my_list = ["apple", "banana", "cherry"]
element = "apple"
if element in my_list:
print("Елемент знаходиться у списку.")
else:
print("Елемент не знайдено.")
Корисно! Пошук елемента за допомогою in ефективний для невеликих або середніх списків. Однак для великих даних або частих операцій пошуку може бути більш ефективно використовувати інші структури даних, такі як множини (set), які надають швидший пошук.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ