У цій статті ми обговоримо, як поміняти місцями два символи в рядку. Існують різні підходи, які допоможуть зрозуміти, як ми можемо поміняти місцями два символи в рядку.
Підхід 1: використання методу list() і join().
Якщо ми хочемо поміняти місцями два символи в рядку, ми можемо використати список() і приєднатися() метод.
приклад:
кат тимпф вага
# 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 .
Вираз string[6 if i == 2 else 2] повертає символ at індекс 6 якщо поточний індекс є 2 і повертає символ at індекс 2 якщо поточний індекс дорівнює 6 . В іншому випадку він повертає оригінальний символ за поточним індексом. Після цього ми перетворюємо список символів назад у рядок за допомогою метод join(). і виведіть новий рядок.
Цей підхід може бути менш ефективним, ніж попередні підходи, оскільки він створює новий список символів, але він може бути корисним у ситуаціях, коли розуміння списку є зручнішим або інтуїтивно зрозумілішим у використанні.
Підхід 4: використання вбудованого типу 'bytearray'.
Якщо ми хочемо поміняти місцями два символи в рядку, ми можемо використати байтовий масив метод.
приклад:
# 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
Пояснення:
У цьому підході ми спочатку перетворюємо вхідний рядок на a байтовий масив використовуючи bytearray() вбудована функція. Після цього вказуємо 'utf-8' кодування для перетворення рядка в байт, а потім ми міняємо два символи на індекс 2 і індекс 6 шляхом прямого доступу до відповідних елементів у bytearray . Нарешті, ми перетворюємо байтовий масив повернутися до рядка за допомогою декодувати() і виведіть новий рядок.
Цей підхід є ефективним, оскільки він використовує a змінний байтовий масив замість створення нового рядка або списку.