Làm thế nào để đảo ngược một chuỗi trong Python (5 phương pháp)

Chuỗi là một danh sách có thứ tự hoặc một chuỗi ký tự. Chuỗi là một trong những cấu trúc dữ liệu đi kèm với Python. Khi bạn đang làm việc với các chuỗi trong Python, bạn có thể muốn đảo ngược tất cả các ký tự. Một ví dụ hay là khi bạn đang xây dựng một trò chơi palindrome.

Một chuỗi đảo ngược có ký tự đầu tiên là ký tự cuối cùng, v.v. Tuy nhiên, Python không có chức năng tích hợp để đảo ngược chuỗi, nhưng đây là những phương pháp bạn có thể sử dụng.

Trong hướng dẫn này, bạn sẽ học các phương pháp khác nhau để đảo ngược chuỗi trong Python.

Phương pháp 1: Revchuỗi erse trong Python sử dụng vòng lặp For

Phương pháp đầu tiên để đảo ngược chuỗi là sử dụng vòng lặp for như trong đoạn mã bên dưới:

Python Mã Code:

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

Đầu ra:

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

Giải thích mã:

  • Trong đoạn mã này, chúng ta có thể sử dụng đảo ngược_string() hàm đảo ngược chuỗi lấy một giá trị nhất định chuỗi như một lập luận.
  • Bên trong nó, chúng ta có thể tạo một chuỗi trống để lưu trữ chuỗi đảo ngược, sau đó chúng ta lặp qua chuỗi đó.
  • Các ký tự được đảo ngược và gán cho chuỗi_đảo ngược biến.
  • Cuối cùng, dòng cuối cùng trong hàm trả về chuỗi đảo ngược.
  • Để hiển thị đầu ra, hãy thực hiện lệnh gọi chức năng bên trong in() hoạt động với sự trợ giúp của chuỗi f.

Phương pháp 2: Revchuỗi erse trong Python sử dụng vòng lặp while

Sử dụng một vòng lặp while trong Python cũng sẽ là một phương pháp khác để đảo ngược chuỗi. Hãy cùng chúng tôi hiểu đoạn mã dưới đây:

Python Mã Code:

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

Đầu ra:

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

Giải thích mã:

  • Với Python mã, chúng ta khai báo một chuỗi cần đảo ngược, sau đó là một chuỗi rỗng để lưu trữ chuỗi đã đảo ngược.
  • Sau đó chúng tôi đang tìm độ dài chuỗi được gán cho tính biến.
  • chuỗi [đếm – 1] trong mỗi lần lặp sẽ lấy các ký tự chuỗi từ cuối đến đầu.
  • Và nối chúng với chuỗi_đảo ngược và sau đó giảm dần tính giá trị.
  • Cuối cùng, chúng ta in chuỗi đảo ngược.

Phương pháp 3: Python RevChuỗi Erse sử dụng Slicer Operator

Một phương pháp khác để đảo ngược một chuỗi là sử dụng toán tử lát cắt, để hiểu rõ hơn về chuỗi đó, hãy xem đoạn mã bên dưới:

Python Mã Code:

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

Đầu ra:

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

Giải thích mã:

  • Để tạo ra một đảo ngược() chức năng có một chuỗi như một đối số, bên trong nó
  • Trong ví dụ này, chúng ta có một chuỗi[::-1] toán tử lát để đảo ngược chuỗi
  • Sau đó, chuỗi đảo ngược được gán cho một biến mới gọi là chuỗi_đảo ngược
  • Cuối cùng, chuỗi đảo ngược mới được trả về

Phương pháp 4: Revxóa một chuỗi trong Python sử dụng hàm reversal()

Chúng ta cũng có thể đảo ngược một chuỗi bằng cách sử dụng đảo ngược () Python chức năng, mã sẽ trông như sau:

Python Ví dụ về mã:

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

Đầu ra:

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

Giải thích mã:

  • Trong mã này, chúng tôi có một đảo ngược () hàm có đối số là a chuỗi.
  • Bên trong nó, chúng ta đã khởi tạo một chuỗi trống.
  • Chúng tôi nối nó với đầu ra của đảo ngược (chuỗi) bằng cách sử dụng tham gia() chức năng.
  • Bên ngoài đảo ngược () hàm, chúng ta đã khai báo một chuỗi đảo ngược, sau đó chúng ta in ra chuỗi gốc và chuỗi đảo ngược.

Phương pháp 5: Python Revchuỗi erse sử dụng đệ quy

Đệ quy có nghĩa là một hàm được định nghĩa gọi chính nó. Một hàm đệ quy được gọi là đệ quy khi nó gọi chính nó. Để hiểu rõ hơn, hãy xem ví dụ mã sau:

Python Mã Code:

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

Đầu ra:

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

Giải thích mã:

  • Trong đoạn mã trên, chúng ta đã khai báo một đảo ngược () chức năng đó có một chuỗi như một đối số, phần thân của hàm là một nếu khác tuyên bố.
  • if câu lệnh kiểm tra xem độ dài chuỗi có tương đương với 0 hay không và trả về chuỗi đó, trong khi khác tuyên bố gọi đảo ngược() hàm đệ quy, cắt chỉ mục cuối cùng của chuỗi và thêm nó vào đầu.

Kết luận

  • T Python hướng dẫn đã hướng dẫn bạn cách đảo ngược chuỗi bằng nhiều phương pháp khác nhau trong Python.
  • Chúng ta có thể sử dụng hàm Reverse_string() để đảo ngược chuỗi lấy một chuỗi đã cho làm đối số.
  • Bạn cũng có thể sử dụng vòng lặp for và while để khuấy ngược.
  • Bạn có thể kiện hàm đảo ngược lấy chuỗi làm đối số.
  • Khi chọn những phương pháp này, bạn nên coi hiệu suất của chúng là một trong những yếu tố.