Как да обърнете низ Python (5 метода)

Низът е подреден списък или поредица от знаци. Низовете са една от структурите от данни, които идват с Python. Докато работите с низове в Python, може да искате всички знаци да са обърнати. Добър пример би бил, когато създавате палиндромна игра.

Обърнат низ има първия знак като последен знак и т.н. обаче Python не идва с вградена функция за обръщане на низове, но те са методи, които можете да използвате.

В този урок ще научите различни методи за обръщане на низа Python.

Метод 1: Reverse низ в Python използвайки For Loop

Първият метод за обръщане на низове е използването на for цикъл, както в кодовия фрагмент по-долу:

Python Код:

# function for reversing a string
def reverse_string(string):
    # an empty string for storing reversed string
    reversed_string = ""
    # looping through the string
    for char in string:
        # reversing the string
        reversed_string = char + reversed_string
    # returning a reversed string
    return reversed_string

# the string to reverse
string = "Guru99"
# printing a message
print(f"String Reversal using a for loop")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse_string(string)}")

Изход:

String Reversal using a for loop
Original String: Guru99
Reversed String: 99uruG

Обяснение на кода:

  • В този кодов фрагмент можем да използваме обратен_низ() функция за обръщане на низове, като взема дадено низ като аргумент.
  • Вътре в него можем да създадем празен низ, за ​​да съхраним обърнатия низ, след което преминаваме през низа.
  • Героите са обърнати и присвоени на обърнат_низ променлива.
  • И накрая, последният ред във функцията връща обърнатия низ.
  • За да покажете изхода, правете функционално повикване вътре в печат () функция с помощта на f-низ.

Метод 2: Reverse низ в Python използвайки цикъл While

С помощта на докато влиза в цикъл Python също би бил друг метод за обръщане на низ. Нека разберем кодовия фрагмент по-долу:

Python Код:

# declaring a string to reverse
string = "Python"
# initializing an empty string to store the reversed string
reversed_string = ""
# printing a message
print(f"String Reversal using a while loop")
# printing the original string
print(f"Original String: {string}")
# find length of a string and store in count variable
count = len(string)
# a while loop for looping through the string characters
while count > 0:
    # save the value of str[count-1] in reversed_string
    reversed_string += string[count - 1]
    # decrementing index
    count = count - 1
print(f"Reversed String: {reversed_string}")

Изход:

String Reversal using a while loop
Original String: Python
Reversed String: nohtyP

Обяснение на кода:

  • В този Python код, ние декларираме низ, който трябва да бъде обърнат, след това празен низ, за ​​да съхраним обърнатия низ.
  • След това намираме дължината на низа, която е присвоена на броя променлива.
  • - низ [брой – 1] във всяка итерация извлича символите на низа от последния до първия.
  • И ги свързва към обърнат_низ и след това намалява броя стойност.
  • Накрая отпечатваме обърнатия низ.

Метод 3: Python Reverse String с помощта на Slicer OperaTor

Друг метод за обръщане на низ е използването на оператор за разделяне, за да се ориентирате в него, вижте кода по-долу:

Python Код:

# function to reverse a string
def reverse(string):
    # the  slice syntax
    reversed_string = string[::-1]
    return reversed_string

# declaring a string to reverse
string = "Let's guru99"
# printing a message
print(f"String Reversal using Slicer Operator")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Изход:

String Reversal using Slicer Operator
Original String: Let's guru99
Reversed String: 99urug s'teL

Обяснение на кода:

  • За да създадете обратен() функция, която приема a низ като аргумент, вътре в него
  • В този пример имаме a низ[::-1] срез оператор за обръщане на низ
  • След това обърнатият низ се присвоява на нова променлива, наречена обърнат_низ
  • Накрая се връща новият обърнат низ

Метод 4: Revвъвеждане на низ Python използвайки функцията reversed().

Можем също да обърнем низ с помощта на a обърнат() Python функция, кодът ще изглежда по следния начин:

Python Пример за код:

# function to reverse a string
def reverse(string):
    # reversed() function inside the join() function
    string = "".join(reversed(string))
    # returning the reversed string
    return string

# declaring a string to reverse
string = "guru99"
# printing a message
print(f"String Reversal using reversed() function")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Изход:

String Reversal using reversed() function
Original String: guru99
Reversed String: 99urug

Обяснение на кода:

  • В този код имаме a обърнат() функция, чийто аргумент е a низ.
  • В него сме инициализирали празен низ.
  • Свързваме го с изхода на обърнат (низ) използване на присъединяване() функция.
  • Извън обърнат() функция сме декларирали низ за обръщане, след което отпечатваме оригиналния низ и обърнатия низ.

Метод 5: Python Reverse String с помощта на рекурсия

Рекурсия означава дефинирана функция, която извиква сама себе си. За рекурсивна функция се казва, че е рекурсивна, когато извиква сама себе си. За да го разберете по-добре, вижте следния пример на код:

Python Код:

# a function to reverse a string
def reverse(string):
    # Checking the length of string
    if len(string) == 0:
        return string
    # reversing string if len(string) != 0
    else:
        # recursively calling the reverse() function
        return reverse(string[1:]) + string[0]

# declaring a string to reverse
string = "I love guru99"
# printing a message
print(f"String Reversal using Recursion")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Изход:

String Reversal using Recursion
Original String: I love guru99
Reversed String: 99urug evol I

Обяснение на кода:

  • В горния код сме декларирали a обратен () функция, която приема a низ като аргумент, тялото на функцията е an ако е друго изявление.
  • - if операторът проверява дали дължината на низа е еквивалентна на 0 и връща низа, докато още изявлението нарича обратен() функция рекурсивно, нарязва последния индекс на низа и го добавя към началото.

Заключение

  • Това Python настойнически ви преведе през обръщане на низове с помощта на различни методи в Python.
  • Можем да използваме функцията reverse_string() за обръщане на низ, приемайки даден низ като аргумент.
  • Можете също така да използвате „цикъл за и докато“ за обратно разбъркване.
  • Можете да съдите обратна функция, която приема низ като аргумент.
  • Когато избирате тези методи, трябва да вземете предвид тяхната ефективност като един от факторите.