Hur man vänder en sträng in Python (5 metoder)

En sträng är en ordnad lista eller en sekvens av tecken. Strängar är en av de datastrukturer som följer med Python. När du arbetar med strängar i Python, kanske du vill ha alla tecken omvända. Ett bra exempel skulle vara när du bygger ett palindromspel.

En omvänd sträng har sitt första tecken som sista tecken och så vidare. Dock, Python kommer inte med en inbyggd funktion för att vända strängar, men det är metoder du kan använda.

I den här handledningen lär du dig olika metoder för att vända strängen in Python.

Metod 1: Reverse stränga in Python använder en For Loop

Den första metoden för att vända strängar är att använda en for-loop som i kodavsnittet nedan:

Python Koda:

# 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)}")

Produktion:

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

Kodförklaring:

  • I det här kodavsnittet kan vi använda reverse_string() funktion för strängvändning med en given sträng som ett argument.
  • Inuti den kan vi skapa en tom sträng för att lagra den omvända strängen, sedan går vi igenom strängen.
  • Tecknen är omvända och tilldelas till omvänd_sträng variabel.
  • Slutligen returnerar den sista raden i funktionen den omvända strängen.
  • För att visa utdata, gör ett funktionellt samtal inuti skriva ut() funktion med hjälp av en f-sträng.

Metod 2: Reverse stränga in Python använder en While Loop

Med hjälp av en medan loop in Python skulle också vara en annan metod för att vända en sträng. Låt oss förstå kodavsnittet nedan:

Python Koda:

# 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}")

Produktion:

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

Kodförklaring:

  • I detta Python kod, förklarar vi att en sträng ska vändas, sedan en tom sträng för att lagra den omvända strängen.
  • Vi hittar sedan stränglängden som är tilldelad till räkna variabel.
  • Smakämnen sträng [antal – 1] i varje iteration hämtar strängens tecken från sista till första.
  • Och sammanfogar dem till omvänd_sträng och minskar sedan räkna värde.
  • Slutligen trycker vi den omvända strängen.

Metod 3: Python Reverse String med Slicer Operator

En annan metod för att vända en sträng är att använda en segmentoperator, för att få huvudet runt den, se koden nedan:

Python Koda:

# 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)}")

Produktion:

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

Kodförklaring:

  • För att skapa en omvänd() funktion som tar en sträng som ett argument, inuti det
  • I det här exemplet har vi en sträng[::-1] skivoperator för att vända sträng
  • Sedan tilldelas den omvända strängen en ny variabel som kallas omvänd_sträng
  • Slutligen returneras den nya omvända strängen

Metod 4: Revslå in en sträng Python med funktionen reversed()

Vi kan också vända en sträng med a omvänd () Python funktion skulle koden se ut så här:

Python Kodexempel:

# 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)}")

Produktion:

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

Kodförklaring:

  • I den här koden har vi en omvänd () funktion vars argument är a sträng.
  • Inuti den har vi initierat en tom sträng.
  • Vi sammanfogar det med utgången av omvänd (sträng) med Ansluta sig() funktion.
  • Utanför omvänd () funktion, har vi förklarat att en sträng ska vända, sedan skriver vi ut den ursprungliga strängen och den omvända strängen.

Metod 5: Python Reverse String med Rekursion

Rekursion betyder en definierad funktion som anropar sig själv. En rekursiv funktion sägs vara rekursiv när den kallar sig själv. För att förstå det bättre titta på följande kodexempel:

Python Koda:

# 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)}")

Produktion:

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

Kodförklaring:

  • I ovanstående kod har vi deklarerat a omvänd () funktion som tar en sträng som ett argument är funktionens kropp en om annat uttalande.
  • Smakämnen if uttalandet kontrollerar om strängens längd är ekvivalent med 0 och returnerar strängen, medan annars uttalande kallar omvänd() funktion rekursivt, skär upp det sista indexet i strängen och lägger till det i början.

Slutsats

  • Denna Python handledning har lett dig genom att vända strängar med olika metoder i Python.
  • Vi kan använda funktionen reverse_string() för strängvändning med en given sträng som argument.
  • Du kan också använda "for and while loop" för omvänd omrörning.
  • Du kan stämma omvänd funktion som tar en sträng som argument.
  • När du väljer dessa metoder bör du överväga deras prestanda som en av faktorerna.