Розуміння підрядків у Python із прикладами

Ця стаття має на меті допомогти учням глибше розібратися з підрядками у програмуванні на Python.

Тут ви навчитеся створювати підрядки, виділяти їхні різні частини з рядка та розуміти, як вони функціонують у Python, використовуючи наочні приклади. Крім того, ми розглянемо, як перевірити, чи наявний певний підрядок у більшому рядку.

Перед тим, як ми почнемо, важливо визначити, що таке рядок і підрядок. Рядок – це послідовність символів Unicode, яка складається з літер, цифр та/або спеціальних знаків. Підрядком, у свою чергу, ми називаємо частину цієї послідовності символів, що міститься у рядку.

Ми розглянемо наступні питання:

  • Процес створення підрядка.
  • Різні методи “нарізання” підрядка.
  • Визначення кількості входжень підрядка.
  • Перевірка наявності підрядка в рядку.

Отже, почнемо!

Створення підрядка

Підрядок зазвичай створюється за допомогою операції “нарізання” (slicing). Цей метод дає змогу витягнути підрядок, вказуючи індекси початку, кінця та крок. Ці параметри дозволяють точно визначити, які символи ви хочете отримати.

Синтаксис виглядає так:

рядок[початковий_індекс:кінцевий_індекс:крок]

Важливо пам’ятати, що індексація в рядку починається з нуля.

Параметр `початковий_індекс` визначає індекс першого символу підрядка. Якщо цей параметр не вказано, Python автоматично прийме його значення за нуль.

`Кінцевий_індекс` позначає індекс, до якого витягується підрядок (не включаючи символ з цим індексом). Якщо цей параметр відсутній, операція нарізання триватиме до кінця рядка.

`Крок` визначає, через скільки символів потрібно обирати наступний символ підрядка. Зазвичай він дорівнює одиниці. Якщо параметр `крок` не вказано, його значення автоматично вважається рівним одиниці.

Способи “нарізання” рядка

Існує кілька способів видобути підрядок з рядка. Ось деякі з них:

#1. “Нарізання” з використанням початкового та кінцевого індексів.

рядок = рядок[початковий_індекс : кінцевий_індекс]

Наприклад, щоб отримати ім’я людини з її повного імені, можна зробити так:

рядок = 'Михайло Коваль'

print(рядок[0:7])

Результатом буде:

Михайло

#2. “Нарізання” з використанням лише початкового індексу.

рядок = рядок[початковий_індекс:]

У цьому випадку ми вказуємо лише, з якого індексу потрібно почати виділення символів. Нарізання триває до кінця рядка, який має індекс -1.

Приклад:

рядок = 'Це приклад нарізання рядка з використанням лише початкового індексу'

print(рядок[3:])

Вивід:

 приклад нарізання рядка з використанням лише початкового індексу

#3. “Нарізання” з використанням лише кінцевого індексу.

рядок = рядок[:кінцевий_індекс]

Тут ми задаємо останній символ, який повинен бути включений до підрядка, не вказуючи початку. “Нарізка” почнеться з першого символу рядка (з індексом 0).

Приклад:

рядок = 'Це приклад нарізання рядка з використанням лише кінцевого індексу'

print(рядок[:10])

Вивід:

Це приклад

#4. “Нарізання” всього рядка.

рядок = рядок[ : ]

У цьому випадку ми не визначаємо жодного з роздільників, тому повертається весь рядок.

Приклад:

рядок = 'Це приклад нарізання всього рядка'

print(рядок[:])

Вивід:

Це приклад нарізання всього рядка

#5. Виділення одного символу з рядка.

рядок = рядок[індекс]

Тут вибирається точне значення індексу символу рядка.

Приклад:

рядок = 'Це приклад виділення одного символу з рядка'

print(рядок[5])

Буква “р” у “приклад” буде виведена, оскільки її індекс дорівнює 5.

#6. “Нарізання” з використанням початкового індексу, кінцевого індексу та кроку.

Приклад:

рядок = 'Це приклад нарізання рядка з використанням початкового індексу, кроку та кінцевого індексу'

print(рядок[11:24:1])

Коли значення кроку дорівнює 1, відбувається звичайне нарізання, і ми отримаємо:

нарізання ряд

З тим же прикладом, встановимо крок 2:

рядок = 'Це приклад нарізання рядка з використанням початкового індексу, кроку та кінцевого індексу'

print(рядок[11:24:2])

Вибірка символів буде проходити через 2 символи, що дасть:

нрзн рд

Таким чином, “нарізка” вибирає кожен другий символ після поточного.

#7. Розвертання рядка за допомогою від’ємного кроку.

У цьому випадку виведеться весь рядок від останнього символу до першого.

рядок = 'Це приклад розвертання рядка з використанням від'ємного кроку'

print(рядок[::-1])

Вивід:

укорп огоьмідв уннзяиксов уктярд аннтяерзов адклипр еЦ

Від’ємний крок працює так:

Р
О
З
В
Е
Р
Т
А
Н
Н
Я
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

Початковий індекс для зворотного рядка за замовчуванням дорівнює 0 і закінчується на 6. Від’ємний крок змінює індекс останнього символу та застосовує його до першого, скасовуючи порядок.

Ще приклади “нарізання”:

Отримання перших чотирьох символів підрядка у рядку:

рядок = 'символи'

print(рядок[0:4])

Виведе:

симв

Перевірка наявності підрядка в рядку

Python використовує функцію `find()` або оператор `in` для перевірки, чи є підрядок частиною більшого рядка.

Приклад використання оператора `in`:

рядок = 'це приклад для демонстрації, що певний підрядок міститься у рядку'
if 'пошук' in рядок:
    print('Підрядок знайдено')
else:
    print('Підрядок не знайдено')

Вивід:

Підрядок не знайдено

У цьому прикладі перевіряється, чи є підрядок ‘пошук’ у заданому рядку. Оскільки його немає, виводиться повідомлення “Підрядок не знайдено”.

Замінивши ‘пошук’ на ‘що’ і перевіривши, чи є він у рядку, ви отримаєте вивід “Підрядок знайдено”, тому що він присутній.

Приклад використання функції `find()`:

рядок = 'використання рядка для пошуку підрядка в іншому рядку'

if рядок.find('знайдено') != -1:
    print("Підрядок 'знайдено' існує")
else:
    print("Підрядка 'знайдено' не існує")

Вивід:

Підрядка 'знайдено' не існує

У цьому прикладі ми намагалися знайти підрядок, якого немає у нашому рядку. Функція `find()` повертає -1, коли підрядок не знайдено, тому виводиться повідомлення “Підрядка ‘знайдено’ не існує”.

Знаходження кількості входжень підрядка

Python використовує функцію `count()` для підрахунку кількості входжень підрядка, як показано в прикладі нижче.

рядок = " Підрахунок кількості входжень символу 'о' у цьому рядку "

print("Кількість символів 'о': ", рядок.count('о'));

Вивід:

Кількість символів 'о': 5

Висновок

Ця стаття має на меті дати вам глибше розуміння того, що таке підрядок у Python, як його створювати, а також чітко пояснює концепцію “нарізання” та її застосування. Використовуючи наведені вище приклади як основу, спробуйте розв’язати більше задач, щоб краще засвоїти цю концепцію.

Також ви можете ознайомитися з тим, як створити гру “Вгадай число” за допомогою Python, або як отримувати дані JSON у Python.

Успішного програмування!