Курси програмного забезпечення та технологій
Підручники з програмного забезпечення => Python => Тема розпочата: Dornos від Квт. 10, 2025, 01:03 PM
У мові програмування Python "слайсинг" (або зріз) — це потужний і зручний спосіб роботи з послідовностями, такими як списки, рядки чи кортежі. Він дозволяє витягувати певні частини даних, використовуючи просту синтаксичну конструкцію. У цій статті ми розглянемо основи слайсингу в Python, надамо оригінальні приклади коду та додамо розділ із поширеними запитаннями (FAQs).
Основи слайсингу в PythonСлайсинг працює за допомогою квадратних дужок [ ] і має наступний формат:послідовність[початок:кінець:крок]
- початок: індекс, з якого починається зріз (включно).
- кінець: індекс, до якого доходить зріз (не включно).
- крок: відстань між елементами (за замовчуванням 1).
Якщо якийсь із параметрів пропущено, Python використовує значення за замовчуванням:- початок = 0
- кінець = довжина послідовності
- крок = 1
Приклади коду1. Витягнення частини рядкаtext = "Привіт, Python!"
slice1 = text[0:6] # Витягуємо "Привіт"
slice2 = text[7:13] # Витягуємо "Python"
print(slice1) # Виведе: Привіт
print(slice2) # Виведе: Python
2. Використання пропущених значеньnumbers = [10, 20, 30, 40, 50, 60]
all_numbers = numbers[:] # Копія всього списку
from_start = numbers[:3] # Перші 3 елементи
to_end = numbers[2:] # Від 3-го до кінця
print(all_numbers) # Виведе: [10, 20, 30, 40, 50, 60]
print(from_start) # Виведе: [10, 20, 30]
print(to_end) # Виведе: [30, 40, 50, 60]
3. Слайсинг із крокомletters = "АБВГДЕЄЖЗИ"
every_second = letters[::2] # Кожна друга літера
reversed_text = letters[::-1] # Рядок у зворотному порядку
print(every_second) # Виведе: АВДЕЖ
print(reversed_text) # Виведе: ИЗЖЄЕДГВБА
4. Робота зі списком і від'ємними індексамиfruits = ["яблуко", "банан", "апельсин", "манго", "ківі"]
last_two = fruits[-2:] # Останні 2 елементи
middle = fruits[1:-1] # Усі, крім першого і останнього
print(last_two) # Виведе: ["манго", "ківі"]
print(middle) # Виведе: ["банан", "апельсин", "манго"]
5. Зміна списку через слайсингnumbers = [1, 2, 3, 4, 5]
numbers[1:4] = [20, 30, 40] # Замінюємо елементи з індексів 1 по 3
print(numbers) # Виведе: [1, 20, 30, 40, 5]
FAQs: Часті запитання про слайсинг у Python- Чим відрізняється слайсинг від індексації?
Індексація повертає один елемент за його позицією (наприклад, list[2]), тоді як слайсинг повертає підмножину елементів у вигляді нової послідовності (наприклад, list[1:4]). - Чи можна використовувати слайсинг із кортежами?
Так, слайсинг працює з усіма послідовностями Python, включаючи кортежі. Наприклад:
tuple_example = (1, 2, 3, 4)
print(tuple_example[1:3]) # Виведе: (2, 3)
- Що станеться, якщо вказати індекс поза межами послідовності?
Python не видасть помилку, а просто поверне доступну частину. Наприклад:
text = "Слово"
print(text[2:10]) # Виведе: ово
- Як працює від'ємний крок?
Від'ємний крок (наприклад, -1) змушує слайсинг рухатися у зворотному напрямку. Це корисно для реверсу послідовності:
numbers = [1, 2, 3, 4]
print(numbers[::-1]) # Виведе: [4, 3, 2, 1]
- Чи можна змінити рядок через слайсинг?
Ні, рядки в Python є незмінними. Для зміни потрібно створити новий рядок:
text = "Старий"
new_text = text[:3] + "рий"
print(new_text) # Виведе: Старий
ВисновокСлайсинг у Python — це гнучкий інструмент, який спрощує роботу з послідовностями. Завдяки йому ви можете швидко витягувати, змінювати чи реверсувати дані. Спробуйте погратися з прикладами вище, щоб краще зрозуміти його можливості! Якщо у вас є власні ідеї для експериментів із слайсингом, поділіться ними в коментарях.