🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍
3.1K subscribers
477 photos
2 videos
253 links
🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

πŸ‘½ Админ - @it_dashka
πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
Поиск Π² строкС

Для поиска подстроки Π² строкС Π² Python примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ find(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния подстроки Π² строку ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹:

β€’ find(str): поиск подстроки str вСдСтся с Π½Π°Ρ‡Π°Π»Π° строки Π΄ΠΎ Π΅Π΅ ΠΊΠΎΠ½Ρ†Π°
β€’ find(str, start): ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ start Π·Π°Π΄Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ поиск
β€’ find(str, start, end): ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ end Π·Π°Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ поиск

Если подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, смотрим ΠΊΠΎΠ΄:

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
Π—Π°ΠΌΠ΅Π½Π° Π² строкС

● Для Π·Π°ΠΌΠ΅Π½Ρ‹ Π² строкС ΠΎΠ΄Π½ΠΎΠΉ подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ replace():

● replace(old, new): замСняСт подстроку old Π½Π° new

replace(old, new, num): ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ num ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ подстроки old Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° new. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ num Ρ€Π°Π²Π½ΠΎ -1, Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΌΠ΅Π½Π΅ всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ подстроки

ΠŸΡ€ΠΈ нСобходимости ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· строки Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ символы, Π½ΠΎ ΠΈ подстроку. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:
β€’ string[:end]: извлСкаСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов начиная с 0-Π³ΠΎ индСкса ΠΏΠΎ индСкс end (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ)
β€’ string[start:end]: извлСкаСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов начиная с индСкса start ΠΏΠΎ индСкс end (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ)
β€’ string[start:end:step]: извлСкаСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов начиная с индСкса start ΠΏΠΎ индСкс end (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ) Ρ‡Π΅Ρ€Π΅Π· шаг step

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ получСния подстроки, смотрим ΠΊΠΎΠ΄:

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
ОбъСдинСниС строк

Одной ΠΈΠ· самых распространСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со строками являСтся ΠΈΡ… объСдинСниС ΠΈΠ»ΠΈ конкатСнация. Для объСдинСния строк примСняСтся опСрация слоТСния, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ πŸ‘€:

Π‘ объСдинСниСм Π΄Π²ΡƒΡ… строк всС просто, Π½ΠΎ Ρ‡Ρ‚ΠΎ, Ссли Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ строку ΠΈ число? Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ привСсти число ΠΊ строкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str(), Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк

ΠŸΡ€ΠΈ сравнСнии строк принимаСтся Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ символы ΠΈ ΠΈΡ… рСгистр. Π’Π°ΠΊ, Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ символ условно мСньшС, Ρ‡Π΅ΠΌ любой Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ символ. Алфавитный символ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС условно мСньшС, Ρ‡Π΅ΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹Π΅ символы Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС. НапримСр, Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ:

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ строка "1a" условно мСньшС, Ρ‡Π΅ΠΌ строка "aa". Π’Π½Π°Ρ‡Π°Π»Π΅ сравнСниС ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ символу. Если Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΎΠ±ΠΎΠΈΡ… строк ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ‚ΠΎ мСньшСй считаСтся мСньшая Ρ†ΠΈΡ„Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "1a" мСньшС, Ρ‡Π΅ΠΌ "2a".
Если Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹Π΅ символы Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ рСгистрС, Ρ‚ΠΎ смотрят ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. Π’Π°ΠΊ, "aa" мСньшС, Ρ‡Π΅ΠΌ "ba", Π° "ba" мСньшС, Ρ‡Π΅ΠΌ "ca".

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ рСгистра Π½Π΅ всСгда ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ сути ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ строками. Π’ этом случаС ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ привСсти ΠΎΠ±Π΅ строки ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· рСгистров.
Ѐункция lower() ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ строку ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру, Π° функция upper() - ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ord ΠΈ len

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ строка содСрТит символы Unicode, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ord() ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для символа Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Unicode, смотрим ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ:

Для получСния Π΄Π»ΠΈΠ½Ρ‹ строки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len(), вторая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°:

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Поиск Π² строкС

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ выраТСния term in string ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ подстроку term Π² строкС string. Если подстрока Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, ΠΈΠ½Π°Ρ‡Π΅ возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, смотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° подстроки

ΠœΠ΅Ρ‚ΠΎΠ΄ split() Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку Π½Π° список подстрок Π² зависимости ΠΎΡ‚ раздСлитСля. Π’ качСствС раздСлитСля ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ любой символ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹:
β€’ split(): Π² качСствС раздСлитСля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»
β€’ split(delimeter): Π² качСствС раздСлитСля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ delimeter
β€’ split(delimeter, num): ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ num ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ delimeter ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для раздСлСния. ΠžΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ строки добавляСтся Π² список Π±Π΅Π· раздСлСния Π½Π° подстроки
Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±ΡƒΡ‡Π°Π»ΠΊΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ partition().

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки #split
ΠœΠ΅Ρ‚ΠΎΠ΄ partition()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŽ Π½Π° Ρ‚Ρ€ΠΈ подстроки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… элСмСнтов - подстрока Π΄ΠΎ раздСлитСля, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈ подстрока послС раздСлитСля, смотрим ΠΊΠΎΠ΄:

Если Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ с строкС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ возвращаСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΎΠΉ строкой.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки #partition
Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ строк

ΠŸΡ€ΠΈ рассмотрСнии ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со строками Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния. Π”Ρ€ΡƒΠ³ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для соСдинСния строк прСдставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ join(): ΠΎΠ½ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ список строк. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ тСкущая строка, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вызываСтся Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС раздСлитСля, пСрвая Ρ‡Π°ΡΡ‚ΡŒ πŸ‘€.

ВмСсто списка Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ join ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ строку, Ρ‚ΠΎΠ³Π΄Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ символами этой строки, вторая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #тСория #строки #join