Давайте рассмотрим все 8 методов переворота строки в Python на примерах.
- Метод 1: с использованием метода нарезки
- Метод 2: с помощью функции Reverse()
- Метод 3: с использованием цикла For
- Метод 4: с использованием рекурсии
- Метод 5: с использованием метода join() и понимания списка
- Метод 6: с помощью функции reduce()
- Метод 7: с использованием стека
- Метод 8: с использованием цикла while
Метод 1: с использованием метода нарезки
Этот метод использует срез строк в Python для того, чтобы перевернуть строку, начиная с последнего символа. При этом каждый символ сдвигается к первому символу с шагом -1.
# Function to reverse a string def reverse_string(string): # Returns the reversed string by slicing from the end to the beginning return string[::-1] # Testing the function with the input string "United Kingdom" print("Reverse of the string is : ", reverse_string("United Kingdom"))
В представленном коде определяется функция verse_string, которая принимает строку в качестве аргумента и возвращает обратную строку, используя нарезку.
Затем функция вызывается, и на консоль выводится результат — обратная строка «Великобритания».
Метод 2: с помощью функции Reverse()
Функция versed() возвращает обратный итератор, который можно преобразовать в строку с помощью метода join().
Этот метод прост в использовании и более эффективен по сравнению с некоторыми другими методами.
# Function to reverse a string def reverse_string(string): # Return the reversed string using the reversed() function and join() method return "".join(reversed(string)) # Print the reversed string print("Reverse of the string is : ", reverse_string("USA"))
В представленном коде определена функция verse_string, которая принимает строку в качестве аргумента и возвращает перевёрнутую версию этой строки.
Функция использует методы обратной функции и соединения для перевёртывания строки. Затем код вызывает функцию verse_string с аргументом «США» и выводит результат на экран. Результатом будет перевёрнутая версия строки «США».
Output: Reverse of the string is : ASU
Метод 3: с использованием цикла For
В этом методе мы используем цикл for, чтобы последовательно перебрать все символы в строке. Затем мы создаём новую строку и добавляем каждый символ из исходной строки в начало новой.
# Function to reverse a string def reverse_string(string): # Initialize an empty string result = "" # Loop through each character in the string and add it to the beginning of the result string for char in string: result = char + result # Return the reversed string return result # Call the function with a string "Canada" as an argument print("Reverse of the string is : ", reverse_string("Canada"))
В представленном выше коде определяется функция verse_string. Эта функция принимает строку в качестве входных данных и возвращает перевернутую строку. Перевёрнутая строка формируется путём объединения символов в обратном порядке — от конца строки к её началу. В результате получается новая строка, которая является зеркальным отражением исходной строки.
- Затем функция вызывается со строкой «Канада». Результирующая обратная строка будет выведена на экран.
Outptut: Reverse of the string is : adanaC
Метод 4: с использованием рекурсии
Этот метод использует рекурсию для изменения направления строки. Базовый случай — это пустая строка. При каждом рекурсивном вызове первый символ добавляется в конец перевёрнутой части оставшейся строки.
# Function to reverse a string using recursion def reverse_string(string): # Base case: If the length of the string is 0, return the string if len(string) == 0: return string else: # Recursive step: Return the last character of the string + the reverse of the rest of the string return reverse_string(string[1:]) + string[0] # Testing the reverse_string function with the input "New York" print("Reverse of the string is : ", reverse_string("New York"))
Output: Reverse of the string is : kroY weN
Метод 5: с использованием метода join() и понимания списка
Этот метод использует метод join() для объединения символов в строке в обратном порядке. Для этого применяется выражение-генератор, которое выполняет итерацию по строке в обратном порядке.
# Function to reverse a string using list comprehension def reverse_string(string): return "".join(string[i] for i in range(len(string)-1, -1, -1)) # Reverse the string "Brazil" and print the result print("Reverse of the string is : ", reverse_string("Brazil"))
В представленном выше коде мы видим функцию verse_string, которая принимает строку в качестве аргумента. Она возвращает перевёрнутую версию этой строки, используя встроенный метод соединения.
- Метод join объединяет элементы строки, полученные с помощью генератора списка. Этот генератор перебирает символы строки в обратном порядке, то есть от последнего индекса к первому.
Output: Reverse of the string is : lizarB
Метод 6: с помощью функции reduce()
Этот метод использует функцию `reduce()` из модуля `functools`, чтобы применить двоичную функцию к элементам строки в обратном порядке. Результатом будет одно итоговое значение.
# Function to reverse a string using reduce method from functools import reduce def reverse_string(string): # Using reduce to concatenate the characters in the string in reverse order return reduce(lambda x, y: y + x, string) # Testing the reverse_string function print("Reverse of the string is : ", reverse_string("Australia"))
Приведённый выше код — это скрипт на Python, который переворачивает строку с помощью метода reduce() из библиотеки functools. В сценарии определена функция с именем verse_string, которая принимает строку в качестве аргумента.
- Функция переворачивает строку, используя метод reduce и лямбда-функцию в качестве аргумента.
Output: Reverse of the string is : ailartsuA
Метод 7: с использованием стека
В этом методе мы применяем структуру данных «стек». Каждый символ исходной строки добавляется в стек, а затем извлекается из него, чтобы получить обратную последовательность символов.
# Function to reverse a string using a stack def reverse_string(string): # Create a stack of characters from the input string stack = [char for char in string] # Initialize an empty string to store the result result = "" # Pop characters from the stack and add them to the result until the stack is empty while stack: result += stack.pop() # Return the reversed string return result # Test the function by passing a sample string print("Reverse of the string is : ", reverse_string("Washington"))
В приведённом выше коде определяется функция verse_string, которая принимает строку в виде аргумента и возвращает её обратную.
- Функция использует структуру данных «стек» для хранения символов строки. Затем она извлекает элементы из стека, формируя тем самым обратную строку.
- Наконец, перевернутая строка возвращается и печатается.
Output: Reverse of the string is : notgnihsaW
Метод 8: с использованием цикла while
Цикл while применяется для последовательного перебора индексов строки в обратном направлении, начиная с последнего символа и заканчивая первым.
# Function to reverse a string def reverse_string(string): # Initializing an empty string to store the reverse result = "" # Finding the length of the string length = len(string) # Iterating through the string in reverse order while length > 0: # Decreasing the length by 1 length -= 1 # Adding the character to the result string result += string[length] # Returning the reverse string return result # Printing the reverse of the string print("Reverse of the string is : ", reverse_string("Amazon"))
В представленном выше коде определена функция verse_string. Она принимает в качестве аргумента строку и возвращает её обратную версию, объединяя символы в обратном порядке.
- Обратная строка формируется с помощью цикла, который начинается в конце исходной строки и продолжается до её начала.
- Для каждой итерации в результирующую строку добавляется символ, который находится в текущей позиции индекса.
Output: Reverse of the string is : nozamA