Найти Ρ‚Π΅ΠΌΡƒ

πŸ’‘ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ split() ΠΈ join(), Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° Π•Π“Π­ #tpy

ОглавлСниС

Π’ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ тСория

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ split() ΠΈ join() ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² Python.

Ѐункция split() позволяСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π° подстроки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CSV, JSON, XML ΠΈ Ρ‚.Π΄. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ split() для раздСлСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° столбцы ΠΈ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡ… Π² Python.

Ѐункция join() позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ список строк Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для создания тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ², формирования запросов ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, экспорта Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния ΠΈ Ρ‚.Π΄.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ split() ΠΈ join() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с тСкстовыми ΠΈ списочными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ряд повсСднСвных Π·Π°Π΄Π°Ρ‡, связанных с прилоТСниями Π½Π° языкС Python.

Ѐункция split() Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ строки Π½Π° список

Ѐункция split() позволяСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ строку Π½Π° список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

string = "apples,bananas,oranges"
fruits = string.split(",")
print(fruits)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ split(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ строку Π½Π° список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ "," Π² качСствС раздСлитСля. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся список ["apples", "bananas", "oranges"].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ многострочного тСкста Π½Π° список строк

Ѐункция split() Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для разбиСния многострочного тСкста Π½Π° список строк. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

text = "The quick brown fox\\njumps over the lazy dog"
lines = text.split("\\n")
print(lines)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ split(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ многострочный тСкст Π½Π° список строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ пСрСноса строки ("\\n") Π² качСствС раздСлитСля. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся список:

["The quick brown fox", "jumps over the lazy dog"].

Ѐункция join() Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ списка строк Π² ΠΎΠ΄Π½Ρƒ строку

Ѐункция join() позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ мноТСство строк Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

fruits = ["apples", "bananas", "oranges"]
string = ",".join(fruits)
print(string)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали список Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ΠΈ Π·Π°Ρ‚Π΅ΠΌ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ join(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ "," Π² качСствС раздСлитСля. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся строка "apples,bananas,oranges".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ списка чисСл Π² строку

Ѐункция join() Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для объСдинСния списка чисСл Π² строку. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

numbers = [1, 2, 3, 4, 5]
string = "".join(str(number) for number in numbers)
print(string)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали список чисСл ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число Π² строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ join(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ всС числа Π² ΠΎΠ΄Π½Ρƒ строку Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся строка "12345".

Π­Ρ‚ΠΎ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· мноТСства ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ split() ΠΈ join(). НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…!

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΈΠ· Π•Π“Π­

β„– 7824 (Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ: Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ) (М. Ишимов)

ВСкстовый Ρ„Π°ΠΉΠ» состоит ΠΈΠ· символов, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΡ… прописныС Π±ΡƒΠΊΠ²Ρ‹ латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ максимальноС количСство ΠΈΠ΄ΡƒΡ‰ΠΈΡ… подряд символов, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Ρ€ΠΈ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π±ΡƒΠΊΠ² A, B ΠΈ Π‘ (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ) Π½Π΅ записаны подряд. Для выполнСния этого задания слСдуСт Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π€Π°ΠΉΠ»Ρ‹ ΠΊ заданию: 24.txt

-2
import itertools
s = open('24.txt').readline()
M = []
maxi = 0
for i in itertools.product('ABC', repeat = 3):
r = ''.join(i)
M.append(r)
for x in M:
s = s.replace(x, ' ')
maxi = max([len(i) for i in s.split()])
print(maxi+3)

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π°ΠΌ Π±Ρ‹Π»ΠΎ сказано, Ρ‡Ρ‚ΠΎ Π² строкС Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€ΠΎΠΉΠΊΠΈ, состоящСй ΠΈΠ· символов "ABC". Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚Ρ€ΠΎΠΉΠΊΠΈ символов, ΠΌΡ‹ воспользовались Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ itertools ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ product(). Однако Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΌΠ΅Ρ‚ΠΎΠ΄ product() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ со строчными элСмСнтами, Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚Ρ€ΠΎΠΉΠΊΠΈ символов.

РСшСниС сущСствуСт: ΠΌΡ‹ склСили ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ .join()!

✏️ ΠŸΠΎΠ»Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Notion. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° наш Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π», Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ вмСстС πŸ™‹β€β™‚οΈ

Π Π°Π·Π±ΠΎΡ€Ρ‹ Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ с Π Π΅ΡˆΡƒ Π•Π“Π­, ΠšΠ•Π“Π­, Π‘Π±ΠΎΡ€Π½ΠΈΠΊ Полякова. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΌΠΎΠ΅ΠΌ Telegram Π±ΠΎΡ‚Π΅: @ege_searcher_bot πŸ€–