Пошук і Вимірювання
Після того, як ви навчились читати частини рядка, наступний крок — ставити запитання щодо його вмісту: «чи містить він це?», «де це знаходиться?», «скільки разів?», «чи починається/закінчується на…?».
Належність
Використовуйте in, щоб перевірити, чи підрядок зустрічається у рядку. Повертає логічне значення (Boolean).
12345# Checking if a user's bio mentions specific skills user_bio = "Experienced in Python programming and data analysis." print("Python" in user_bio) # True → the bio mentions Python print("Java" not in user_bio) # True → Java is not listed as a skill
Пошук позицій
find(sub)повертає індекс початку першого збігу, або -1, якщо не знайдено;rfind(sub)шукає з права і повертає індекс останнього збігу (або -1);index(sub)працює якfind, але викидаєValueError, якщо підрядок відсутній.
12345678# Searching for keywords inside a product description description = "This brand new bracelet is made from recycled materials." print(description.find("bra")) # 5 → first occurrence of "bra" print(description.rfind("bra")) # 15 → last occurrence "bra" print(description.find("gold")) # -1 → not found, returns -1 print(description.index("bra")) # 5 → same as find(), but raises an error if not found print(description.index("gold")) # ValueError → "gold" not in the text
Підрахунок входжень
count(sub) повертає кількість неперекривних входжень підрядка.
12345# Counting occurrences of words or letters in a customer review review = "Amazing banana smoothie with banana slices on top!" print(review.count("banana")) # 2 → the word appears twice print(review.count("a")) # 8 → letter 'a' appears multiple times
Початок і кінець
Для перевірки початку або кінця рядка використовуйте startswith або endswith — це зрозуміліші та безпечніші методи, ніж зрізи, коли потрібна лише відповідь так/ні.
12345# Checking if the uploaded file has the correct name and format uploaded_file = "report_final.pdf" print(uploaded_file.startswith("report")) # True → file name starts correctly print(uploaded_file.endswith(".pdf")) # True → valid file format for upload
Перевірки без урахування регістру
Методи рядків є чутливими до регістру. Для пошуку без урахування регістру нормалізуйте обидві сторони за допомогою .lower() (або .upper()).
12345# Checking a user's message for a polite greeting user_message = "Hello, team! Let's start the meeting." print("hello" in user_message.lower()) # True → greeting detected print(user_message.lower().startswith("hello")) # True → message begins with "hello"
1. Який буде результат виконання цього коду?
2. Яке твердження не викликає помилку, якщо підрядок відсутній?
3. Дано s = "Banana". Який вираз повертає True без урахування регістру для перевірки префікса "ba"?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the difference between `find` and `index` in more detail?
How can I perform a case-insensitive substring search?
What happens if I use `count` with overlapping substrings?
Awesome!
Completion rate improved to 3.45
Пошук і Вимірювання
Свайпніть щоб показати меню
Після того, як ви навчились читати частини рядка, наступний крок — ставити запитання щодо його вмісту: «чи містить він це?», «де це знаходиться?», «скільки разів?», «чи починається/закінчується на…?».
Належність
Використовуйте in, щоб перевірити, чи підрядок зустрічається у рядку. Повертає логічне значення (Boolean).
12345# Checking if a user's bio mentions specific skills user_bio = "Experienced in Python programming and data analysis." print("Python" in user_bio) # True → the bio mentions Python print("Java" not in user_bio) # True → Java is not listed as a skill
Пошук позицій
find(sub)повертає індекс початку першого збігу, або -1, якщо не знайдено;rfind(sub)шукає з права і повертає індекс останнього збігу (або -1);index(sub)працює якfind, але викидаєValueError, якщо підрядок відсутній.
12345678# Searching for keywords inside a product description description = "This brand new bracelet is made from recycled materials." print(description.find("bra")) # 5 → first occurrence of "bra" print(description.rfind("bra")) # 15 → last occurrence "bra" print(description.find("gold")) # -1 → not found, returns -1 print(description.index("bra")) # 5 → same as find(), but raises an error if not found print(description.index("gold")) # ValueError → "gold" not in the text
Підрахунок входжень
count(sub) повертає кількість неперекривних входжень підрядка.
12345# Counting occurrences of words or letters in a customer review review = "Amazing banana smoothie with banana slices on top!" print(review.count("banana")) # 2 → the word appears twice print(review.count("a")) # 8 → letter 'a' appears multiple times
Початок і кінець
Для перевірки початку або кінця рядка використовуйте startswith або endswith — це зрозуміліші та безпечніші методи, ніж зрізи, коли потрібна лише відповідь так/ні.
12345# Checking if the uploaded file has the correct name and format uploaded_file = "report_final.pdf" print(uploaded_file.startswith("report")) # True → file name starts correctly print(uploaded_file.endswith(".pdf")) # True → valid file format for upload
Перевірки без урахування регістру
Методи рядків є чутливими до регістру. Для пошуку без урахування регістру нормалізуйте обидві сторони за допомогою .lower() (або .upper()).
12345# Checking a user's message for a polite greeting user_message = "Hello, team! Let's start the meeting." print("hello" in user_message.lower()) # True → greeting detected print(user_message.lower().startswith("hello")) # True → message begins with "hello"
1. Який буде результат виконання цього коду?
2. Яке твердження не викликає помилку, якщо підрядок відсутній?
3. Дано s = "Banana". Який вираз повертає True без урахування регістру для перевірки префікса "ba"?
Дякуємо за ваш відгук!