Cum să inversați un String în Python (5 metode)

Un șir este o listă ordonată sau o secvență de caractere. Șirurile de caractere sunt una dintre structurile de date care vine cu Python. Pe măsură ce lucrați cu șiruri în interior Python, poate doriți să aveți toate personajele inversate. Un exemplu bun ar fi atunci când construiți un joc palindrom.

Un șir inversat are primul caracter ca ultimul caracter și așa mai departe. Cu toate acestea, Python nu vine cu o funcție încorporată pentru inversarea șirurilor, dar sunt metode pe care le poți folosi.

În acest tutorial, veți învăța diferite metode de a inversa șirul Python.

Metoda 1: Revers șir în Python folosind o buclă For

Prima metodă pentru inversarea șirurilor este utilizarea unei bucle for, ca în fragmentul de cod de mai jos:

Python Cod:

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

ieșire:

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

Explicația codului:

  • În acest fragment de cod, putem folosi șir_invers() funcție pentru inversarea șirurilor luând un dat şir ca argument.
  • În interiorul acestuia, putem crea un șir gol pentru a stoca șirul inversat, apoi trecem în buclă prin șir.
  • Caracterele sunt inversate și atribuite șir_inversat variabilă.
  • În cele din urmă, ultima linie din funcție returnează șirul inversat.
  • Pentru a afișa rezultatul, efectuați un apel funcțional în interiorul imprimare() funcţionează cu ajutorul unui şir f.

Metoda 2: Revers șir în Python folosind o buclă While

Folosind un while loop in Python ar fi, de asemenea, o altă metodă de inversare a unui șir. Să înțelegem fragmentul de cod de mai jos:

Python Cod:

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

ieșire:

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

Explicația codului:

  • În acest Python cod, declarăm un șir care urmează să fie inversat, apoi un șir gol pentru a stoca șirul inversat.
  • Găsim apoi lungimea șirului care este atribuită lui conta variabilă.
  • șir[număr – 1] în fiecare iterație preia șirul de caractere de la ultimul la primul.
  • Și le concatenă la șir_inversat iar apoi decrementează conta valoare.
  • În cele din urmă, imprimăm șirul inversat.

Metoda 3: Python Reverse String folosind Slicer OperaTdR

O altă metodă de inversare a unui șir este folosirea unui operator de felie, pentru a vă învăța, vedeți codul de mai jos:

Python Cod:

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

ieșire:

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

Explicația codului:

  • Pentru a crea un verso() functie care ia a şir ca argument, în interiorul lui
  • În acest exemplu, avem un șir[::-1] operator de felie pentru inversarea şir
  • Apoi șirul inversat este atribuit unei noi variabile numite șir_inversat
  • În cele din urmă, este returnat noul șir inversat

Metoda 4: Revinserând un String în Python folosind funcția inversă ().

De asemenea, putem inversa un șir folosind a inversat() Python funcție, codul ar arăta după cum urmează:

Python Exemplu de cod:

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

ieșire:

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

Explicația codului:

  • În acest cod, avem un inversat() funcţie al cărei argument este a şir.
  • În interiorul acestuia, am inițializat un șir gol.
  • Îl concatenăm cu rezultatul lui inversat(șir) folosind a te alatura() Funcția.
  • In afara inversat() funcția, am declarat un șir de inversat, apoi tipărim șirul original și șirul inversat.

Metoda 5: Python Reverse String folosind recursiunea

Recursiune înseamnă o funcție definită care se autoapelează. Se spune că o funcție recursivă este recursivă atunci când se autoinvocă. Pentru a înțelege mai bine, uitați-vă la următorul exemplu de cod:

Python Cod:

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

ieșire:

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

Explicația codului:

  • În codul de mai sus, am declarat a invers () functie care ia a şir ca argument, corpul funcției este an dacă altceva afirmație.
  • if instrucțiunea verifică dacă lungimea șirului este echivalentă cu 0 și returnează șirul, în timp ce altfel declarația numește verso() funcţionează recursiv, feliază ultimul index al şirului şi îl adaugă la început.

Concluzie

  • Acest Python tutorial v-a ghidat prin inversarea șirurilor folosind diverse metode în Python.
  • Putem folosi funcția reverse_string() pentru inversarea șirurilor, luând un șir dat ca argument.
  • Puteți folosi, de asemenea, „bucla pentru și în timp” pentru amestecarea inversă.
  • Puteți da în judecată funcția inversată care ia un șir ca argument.
  • Atunci când alegeți aceste metode, ar trebui să luați în considerare performanța lor ca unul dintre factori.