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

Ця стаття спрямована на те, щоб учень краще розумів підрядки в Python.

Він навчить вас, як створити підрядок, витягти різні його частини з рядка та як працюють підрядки в Python, використовуючи кілька прикладів для реалізації цього. Далі ми перевіримо наявність підрядка в рядку.

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

Ми обговоримо наступне:

  • Створення підрядка.
  • Способи нарізки підрядка.
  • Кількість входжень підрядка
  • Пошук наявності підрядка в рядку.

Давайте почнемо!

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

Підрядок створюється переважно за допомогою техніки нарізки. Ця техніка дозволяє витягти підрядок шляхом визначення роздільників початкового індексу, кінцевого індексу та кроку. Ці розділювачі дозволяють видобувати, вказуючи точний індекс символів, які ви хочете отримати.

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

string[begin-index: end-index: step]

Зверніть увагу, що значення індексу в будь-якому рядку починається з нуля.

Параметр begin-index вказує на початковий індекс підрядка. Тому, якщо ви опустите цей елемент під час нарізки, Python автоматично прийме значення його індексу дорівнює нулю.

End-index — останній індекс підрядка. Якщо ви не згадуєте про це, нарізання передбачає, що його значення дорівнює довжині рядка.

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

  19 пакетів Node.js, які варто знати розробнику JavaScript для продуктивного та легкого життя

Способи нарізки струни

Є кілька способів отримати підрядок із рядка. До них належать:

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

String = string[begin-index : end-index]

У випадку, якщо ви хочете отримати ім’я людини з її повного імені, ви зробите це так:

string = 'Michael Doe'

print(string[0:7])

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

Michael

#2. Нарізка з використанням початкового індексу без кінцевого індексу.

String= string[begin-index:]

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

приклад:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Вихід:

to demonstrate slicing of a string using the begin-index without the end-index

#3. Нарізка з використанням кінцевого індексу без початкового індексу.

String = string[:end-index]

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

приклад:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Вихід:

This is t

#4. Нарізка всієї струни.

String = string[ : ]

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

приклад

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Вихід:

This is to demonstrate slicing of the entire string

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

String = string[index]

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

приклад:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

«t» у «to» друкується, оскільки його значення індексу дорівнює 8.

  Як надсилати аудіоповідомлення за допомогою Siri на iPhone

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

приклад

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

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

demonstrate s

Використовуючи той самий приклад, давайте встановимо значення кроку на 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

Нарізка символів буде виконана в 2 кроки таким чином.

dmntaes

Нарізка виділяє другий символ після поточного. Тому фрагменти Python демонструють s’ Dmntaes.

#7. Перевертання рядка з використанням негативного кроку.

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

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Вихід:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

Негативний крок працює так:

Р
E
В
E
Р
С
E
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

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

Ще приклади по нарізці

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

string = 'characters'

print(string[0:4])

Виведе:

char

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

Python використовує функцію find() або оператор «in», щоб перевірити наявність підрядка в рядку.

Використання прикладу оператора in

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Вихід:

Could not find the substring defined

Наведений вище приклад перевіряє, чи присутній підрядок ‘find’ у оголошеному рядку. Оскільки підрядок не знайдено в рядку, результат буде таким, як показано вище.

  Як знайти серійний номер та IMEI для Apple Watch

Заміна підрядка ‘find’ на підрядок ‘that’ і перевірка, чи існує він у рядку чи ні, поверне замість цього ‘підрядок знайдено’, оскільки він присутній у рядку.

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

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

вихід:

<code class="language-python">The substring 'found' does not exist

У наведеному вище прикладі ми намагалися знайти підрядок, який не є частиною нашого рядка. Як ми бачили вище, функція find() перевіряє весь рядок і не знаходить цей конкретний «знайдений» підрядок, вона повертає результат «Знайденого підрядка не існує».

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

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

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Вихід:

The 'o' substring count is:  5

Висновок

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

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

Щасливого кодування!