Давайте рассмотрим все 8 методов переворота строки в Python на примерах.

Содержание

Метод 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, которая принимает строку в качестве аргумента и возвращает обратную строку, используя нарезку.

Затем функция вызывается, и на консоль выводится результат — обратная строка «Великобритания».

Метод 1: с использованием метода нарезки

Метод 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
Добавить комментарий