πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния ΠΏΠΈΡ‚ΠΎΠ½Π° Π² Python?

Как Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния слова "ΠΏΠΈΡ‚ΠΎΠ½" Π² строкС?

Для нахоТдСния индСкса Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния слова "ΠΏΠΈΡ‚ΠΎΠ½" Π² строкС, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ find() Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ срСзов.

string = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΏΠΈΡ‚ΠΎΠ½, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°, ΠΏΠΈΡ‚ΠΎΠ½?"

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, Π½Π°ΠΉΠ΄Π΅ΠΌ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния слова "ΠΏΠΈΡ‚ΠΎΠ½":

first_index = string.find("ΠΏΠΈΡ‚ΠΎΠ½")

Π—Π°Ρ‚Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСзы, Π½Π°ΠΉΠ΄Π΅ΠΌ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния:

second_index = string.find("ΠΏΠΈΡ‚ΠΎΠ½", first_index + 1)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ second_index Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния слова "ΠΏΠΈΡ‚ΠΎΠ½" Π² строкС.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find() ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ поиск. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ first_index + 1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ поиск со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния Π² Python

Когда ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (индСкс) вхоТдСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ»ΠΈ подстроки. Если Ρƒ вас Π΅ΡΡ‚ΡŒ строка ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа Π² этой строкС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСсколькими ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ Π² языкС Python.

1. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find()

ΠœΠ΅Ρ‚ΠΎΠ΄ find() являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов Π½Π°ΠΉΡ‚ΠΈ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа ΠΈΠ»ΠΈ подстроки Π² строкС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π²Π°ΠΆΠ΄Ρ‹.

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкста с нСсколькими вхоТдСниями"

first_index = text.find('Π²')
second_index = text.find('Π²', first_index + 1)

print(second_index)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сначала Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния строки 'Π²' с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ плюс ΠΎΠ΄ΠΈΠ½ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° экран.

2. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° index()

ΠœΠ΅Ρ‚ΠΎΠ΄ index() являСтся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ find() ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π°ΠΉΡ‚ΠΈ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа ΠΈΠ»ΠΈ подстроки Π² строкС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ нСсколько Ρ€Π°Π·.

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкста с нСсколькими вхоТдСниями"

first_index = text.index('Π²')
second_index = text.index('Π²', first_index + 1)

print(second_index)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ index(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния символа 'Π²' Π² строкС. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° экран.

3. ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния слоТной подстроки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ рСгулярными выраТСниями. РСгулярныС выраТСния ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΈΠ±ΠΊΠΈΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

import re

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкста с нСсколькими вхоТдСниями"

pattern = r'Π²'
matches = re.finditer(pattern, text)
matches_positions = [match.start() for match in matches]

second_index = matches_positions[1]

print(second_index)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ finditer() ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ всС вхоТдСния символа 'Π²' Π² строкС ΠΈ сохраняСм ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² спискС. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт индСксу Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния символа 'Π²'.

РСзюмС

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сущСствуСт нСсколько способов Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния символа ΠΈΠ»ΠΈ подстроки Π² строкС Π² языкС Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ find() ΠΈ index() для простых случаСв ΠΈ рСгулярныС выраТСния для Π±ΠΎΠ»Π΅Π΅ слоТных случаСв. НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΠ΅!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

10.2 Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. "ПоколСниС Python": курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. ΠšΡƒΡ€Ρ Stepik

13 Бписки: индСксы ΠΈ срСзы Python

Π£Ρ€ΠΎΠΊ 10 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ: индСксы ΠΈ срСзы Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ массив python? Руководство с простыми шагами для увСличСния массивов Π² python

πŸ”Ž Как вывСсти Π±ΡƒΠΊΠ²Ρƒ ΠΈΠ· строки Π² Python? Учимся ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ символами!

πŸ”½ Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ? Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ использования Selenium Π² Python πŸ”½

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ вхоТдСния ΠΏΠΈΡ‚ΠΎΠ½Π° Π² Python?

πŸ” Как вывСсти минимальноС число Python: простая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… 🐍

πŸ“· Бколько ΠΊΠ°ΠΌΠ΅Ρ€ Π² сСрдцС ΠΏΠΈΡ‚ΠΎΠ½Π°? Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠ² 🐍

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ количСство элСмСнтов мноТСства Π² Python: простой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ совСты