Jak odwrócić ciąg znaków w Python (5 metody)

Ciąg to uporządkowana lista lub sekwencja znaków. Ciągi znaków są jedną z dołączonych struktur danych Python. Podczas pracy z ciągami znaków Python, możesz chcieć, aby wszystkie znaki były odwrócone. Dobrym przykładem jest tworzenie gry palindromowej.

Odwrócony ciąg znaków ma swój pierwszy znak jako ostatni znak itd. Jednakże, Python nie posiada wbudowanej funkcji odwracającej ciągi znaków, ale są to metody, z których możesz skorzystać.

W tym samouczku poznasz różne metody odwracania ciągu znaków w Python.

Metoda 1: Revten ciąg znaków Python za pomocą pętli For

Pierwszą metodą odwracania ciągów znaków jest użycie pętli for, jak pokazano w poniższym fragmencie kodu:

Python Kod:

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

Wyjście:

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

Wyjaśnienie kodu:

  • W tym fragmencie kodu możemy użyć odwrotny_string() funkcja odwracania ciągu znaków przy danym ciąg jako argument.
  • Wewnątrz możemy utworzyć pusty ciąg do przechowywania odwróconego ciągu, a następnie przeglądamy ciąg w pętli.
  • Znaki są odwrócone i przypisane do odwrócony_ciąg zmienna.
  • Na koniec ostatnia linia funkcji zwraca odwrócony ciąg znaków.
  • Aby wyświetlić wynik, wykonaj funkcjonalne wywołanie wewnątrz wydrukować() funkcja za pomocą struny f.

Metoda 2: Revten ciąg znaków Python za pomocą pętli while

Korzystanie podczas pętli Python byłaby również inną metodą odwracania ciągu znaków. Pozwól nam zrozumieć poniższy fragment kodu:

Python Kod:

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

Wyjście:

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

Wyjaśnienie kodu:

  • W tym Python W kodzie deklarujemy ciąg, który ma zostać odwrócony, a następnie pusty ciąg, w którym zostanie on przechowany.
  • Następnie znajdujemy długość łańcucha, która jest przypisana do liczyć zmienna.
  • Kolekcja ciąg [liczba – 1] w każdej iteracji pobiera znaki ciągu od ostatniego do pierwszego.
  • I łączy je w odwrócony_ciąg a następnie zmniejsza liczyć wartość.
  • Na koniec drukujemy odwrócony ciąg znaków.

Metoda 3: Python Revwstaw ciąg znaków za pomocą fragmentatora OperaTor

Inną metodą odwrócenia ciągu znaków jest użycie operatora wycinka. Aby zrozumieć, jak to działa, zobacz poniższy kod:

Python Kod:

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

Wyjście:

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

Wyjaśnienie kodu:

  • Aby utworzyć odwrócić() funkcja, która przyjmuje a ciąg jako argument, wewnątrz niego
  • W tym przykładzie mamy a ciąg [::-1] operator plasterka do odwracania ciąg
  • Następnie odwrócony ciąg znaków zostaje przypisany do nowej zmiennej o nazwie odwrócony_ciąg
  • Na koniec zwracany jest nowy odwrócony ciąg

Metoda 4: Revwstawianie ciągu znaków Python używając funkcji reversed()

Możemy również odwrócić ciąg znaków za pomocą a wywrócony() Python funkcji kod będzie wyglądał następująco:

Python Przykład kodu:

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

Wyjście:

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

Wyjaśnienie kodu:

  • W tym kodzie mamy wywrócony() funkcja, której argumentem jest a ciąg.
  • Wewnątrz zainicjowaliśmy pusty ciąg znaków.
  • Łączymy to z wyjściem odwrócony (ciąg znaków) używając Przystąp() funkcja.
  • Na zewnątrz wywrócony() funkcji, zadeklarowaliśmy ciąg do odwrócenia, następnie drukujemy oryginalny ciąg i odwrócony ciąg.

Metoda 5: Python Reverse String przy użyciu rekurencji

Rekurencja oznacza zdefiniowaną funkcję wywołującą samą siebie. Funkcja rekurencyjna jest nazywana rekurencyjną, gdy wywołuje samą siebie. Aby lepiej to zrozumieć, spójrz na poniższy przykład kodu:

Python Kod:

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

Wyjście:

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

Wyjaśnienie kodu:

  • W powyższym kodzie zadeklarowaliśmy a odwracać () funkcja, która przyjmuje a ciąg jako argument, ciałem funkcji jest Jeśli inaczej komunikat.
  • Kolekcja if Instrukcja sprawdza, czy długość łańcucha jest równa 0 i zwraca ciąg, podczas gdy więcej oświadczenie wywołuje odwrócić() działa rekurencyjnie, odcina ostatni indeks ciągu i dodaje go na początku.

Podsumowanie

  • To zdjęcie Python Tutorial przeprowadził Cię przez proces odwracania ciągów znaków za pomocą różnych metod Python.
  • Możemy użyć funkcji Reverse_string() do odwrócenia ciągu, przyjmując podany ciąg jako argument.
  • Do mieszania wstecznego można także użyć pętli for i while.
  • Możesz pozwać funkcję odwróconą, która przyjmuje ciąg znaków jako argument.
  • Wybierając te metody, należy wziąć pod uwagę ich wydajność jako jeden z czynników.