Давайте рассмотрим все 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