JavaRush /Курси /Модуль 1: Python Core /Рядок як масив

Рядок як масив

Модуль 1: Python Core
Рівень 6 , Лекція 9
Відкрита

10.1 Цикл по символах рядка

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

Ну, а раз рядок – це набір символів, то по них можна пройтись циклом.

Цикл по символах рядка

Для ітерації по кожному символу рядка можна використовувати простий цикл for. Це дозволяє виконувати операції з кожним символом окремо:


text = "Hello"
for char in text:
    print(char)

На екран буде виведено:
H
e
l
l
o
            

Важливо! У Python немає типу char для окремого символа. Один символ рядка — це все одно рядок.

10.2 Визначення довжини рядка

Що ще можна зробити з рядком? Звичайно ж визначити його довжину – дізнатися скільки в ньому символів. Для цього у Python є спеціальна вбудована функція len(). Ця функція повертає кількість символів у рядку:


text = "Hello, world!"
length = len(text)
print(length)  # Виведе: 13
        

10.3 Отримання конкретного символа

Також ви можете отримати конкретний символ рядка за його номером. Точніше, за його індексом.

Важливо! Індекси списків та масивів у Python починаються з 0. Якщо в рядку 10 символів, то вони матимуть індекси: 0, 1, 2, ...9.

Загальний вигляд отримання символу за індексом виглядає так:


string[index]

Давайте виведемо на екран усі символи рядка, але звернемося до них за їхніми індексами:


text = "Hello" 
for i in range(len(text)):
    print(text[i])
                            

На екран буде виведено:
H
e
l
l
o
            

10.4 Входження підрядка

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

Для цієї задачі у Python є кілька способів, як унікальні особисто для нього, так і поширені в інших мовах програмування:

Оператор in:

Це найпростіший і часто використовуваний метод для перевірки наявності підрядка у рядку. Він повертає True, якщо підрядок присутній у рядку, і False в іншому випадку.


text = "Hello, world!"
print("world" in text)  # Виведе: True
        

Метод find():

Метод find() повертає індекс першого входження підрядка в рядок, якщо підрядок знайдено, і -1, якщо підрядок відсутній. Це дозволяє не тільки перевірити наявність підрядка, але й дізнатися його положення.


text = "Hello, world!"
position = text.find("world")
print(position)  # Виведе: 7
        

Метод index():

Схожий на find(), але замість повернення -1 при відсутності підрядка, метод index() генерує виключення ValueError. Цей метод корисний, коли відсутність підрядка є неочікуваною і має призвести до помилки.


text = "Hello, world!"
try:
    position = text.index("world")
    print(position)  # Виведе: 7
except ValueError:
    print("Substring not found.")
       

Метод count():

Метод count() підраховує, скільки разів підрядок зустрічається в рядку. Це корисно, коли потрібно знати не тільки факт входження, але й кількість входжень.


text = "Hello, world!"
cnt = text.count("l")
print(cnt)  # Виведе: 3
       
Коментарі (1)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
negoda Рівень 31
19 липня 2025
Решение первой задачи :

string = input()
string_sub = input()

print(string_sub in string)
print(string.find(string_sub))
print(string.count(string_sub))
# Или объединяем в один print() (минус читабельность) : print(string_sub in string, string.find(string_sub), string.count(string_sub)) 
Решение второй задачи :

string = input()
print(len(string))

index = int(input())

if index >= len(string):
    print("Out of range")
else:
    print(string[index])