У овом чланку ћемо разговарати о томе како да замените два знака у низу. Постоје различити приступи који ће помоћи да се разуме како можемо да заменимо два знака у низу.
Приступ 1: Коришћење метода листе() и јоин().
Ако желимо да заменимо два знака у низу, можемо да користимо листа() и придружити() методом.
Пример:
стринг у јсон објекат
# Input string string = 'hello world' # Convert string to list of characters char_list = list(string) # Swap characters at index 2 and index 6 char_list[2], char_list[6] = char_list[6], char_list[2] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string)
Излаз:
hewlo lorld
Објашњење:
У коду изнад, прво дефинишемо улазни низ као 'Здраво Свете' . Након тога, конвертујемо стринг у листу знакова користећи листа() методом. Следеће, користимо тупле распакивање за замену ликова индекс 2 и индекс 6 на листи. Коначно, конвертујемо листу назад у стринг користећи придружити() методу и излазе нови стринг
Приступ 2: Коришћење сечења и спајања
Ако желимо да заменимо два знака у низу, можемо да користимо сечење и конкатенација методом.
Пример:
# Input string string = 'hello world' # Swap characters at index 2 and index 6 new_string = string[:2] + string[6] + string[3:6] + string[2] + string[7:] # Output new string print(new_string)
Излаз:
hewlo lorld
Објашњење:
У овом приступу користимо резање струна и конкатенација за замену ликова. Конац сечемо на четири дела: на подниз пре првог знака који треба заменити (стринг[:2]) , први замењени знак (стринг[6]) , подниз између замењених знакова (стринг[3:6]) , други замењени знак (стринг[2]) , и подниз после другог замењеног знака (стринг[7:]) . Након тога, спајамо ове подстрингове у жељеном редоследу да бисмо креирали нови стринг.
Приступ 3: Коришћење разумевања листе
Ако желимо да заменимо два знака у низу, можемо да користимо разумевање листе методом.
Пример:
# Input string string = 'hello world' # Swap characters at index 2 and index 6 char_list = [string[i] if i not in (2, 6) else string[6 if i == 2 else 2] for i in range(len(string))] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string)
Излаз:
hewlo lorld
Објашњење:
У овом приступу, креирамо листу знакова користећи разумевање листе које се понавља преко индекса улазног низа. Користимо условни израз у оквиру разумевања листе за замену знакова индекс 2 и индекс 6 .
Израз стринг[6 иф и == 2 елсе 2] враћа карактер на индекс 6 ако је тренутни индекс 2 , и враћа знак ат индекс 2 ако је тренутни индекс 6 . У супротном, враћа оригинални знак у тренутном индексу. Након тога, конвертујемо листу знакова назад у стринг користећи јоин() метода и избаците нови стринг.
Овај приступ може бити мање ефикасан од претходних јер креира нову листу знакова, али може бити користан у ситуацијама када је разумевање листе погодније или интуитивније за коришћење.
Приступ 4: Коришћење уграђеног типа 'битеарраи'
Ако желимо да заменимо два знака у низу, можемо да користимо битеарраи методом.
Пример:
# Input string string = 'hello world' # Convert string to bytearray byte_array = bytearray(string, 'utf-8') # Swap characters at index 2 and index 6 byte_array[2], byte_array[6] = byte_array[6], byte_array[2] # Convert bytearray back to string new_string = byte_array.decode() # Output new string print(new_string)
Излаз:
hewlo lorld
Објашњење:
У овом приступу прво конвертујемо улазни низ у а битеарраи помоћу битеарраи() уграђена функција. Након тога, прецизирамо 'утф-8' кодирање да претворимо стринг у бајт, а затим заменимо два знака на индекс 2 и индекс 6 директним приступом одговарајућим елементима у битеарраи . Коначно, претварамо битеарраи назад на низ користећи децоде() методу и излазе нови стринг.
Овај приступ је ефикасан јер користи а променљиви бајт низ уместо стварања новог стринга или листе.