Hướng dẫn how to reverse a word in python using for loop - cách đảo ngược một từ trong python bằng vòng lặp for

Chuỗi Python không có hàm Reverse () tích hợp. Tuy nhiên, có nhiều cách khác nhau để đảo ngược một chuỗi trong Python.

1. Làm thế nào để đảo ngược một chuỗi trong Python?

Một số cách phổ biến để đảo ngược chuỗi là:

  • Sử dụng cắt để tạo một bản sao ngược của chuỗi.
  • Sử dụng cho vòng lặp và nối lại các ký tự theo thứ tự ngược lại
  • Sử dụng trong khi lặp để lặp lại các ký tự chuỗi theo thứ tự ngược lại và nối chúng
  • Sử dụng hàm nối chuỗi () với trình lặp đảo ngược ()
  • Tạo danh sách từ chuỗi và sau đó gọi chức năng reverse() của nó
  • Sử dụng đệ quy

1.1) Chuỗi đảo ngược Python bằng cách cắt lát

def reverse_slicing(s):
    return s[::-1]

input_str = 'ABç∂EF'

if __name__ == "__main__":
    print('Reverse String using slicing =', reverse_slicing(input_str))

Nếu bạn chạy trên tập lệnh Python, đầu ra sẽ là:

Reverse String using slicing = FE∂çBA

1.2) Đảo ngược chuỗi bằng cách sử dụng cho vòng lặp

def reverse_for_loop(s):
    s1 = ''
    for c in s:
        s1 = c + s1  # appending chars in reverse order
    return s1

input_str = 'ABç∂EF'

if __name__ == "__main__":
    print('Reverse String using for loop =', reverse_for_loop(input_str))

Đầu ra: Reverse String using for loop = FE∂çBA

1.3) Đảo ngược một chuỗi bằng cách sử dụng vòng lặp

def reverse_while_loop(s):
    s1 = ''
    length = len(s) - 1
    while length >= 0:
        s1 = s1 + s[length]
        length = length - 1
    return s1

input_str = 'ABç∂EF'

if __name__ == "__main__":
    print('Reverse String using while loop =', reverse_while_loop(input_str))

1.4) Đảo ngược một chuỗi bằng cách sử dụng tham gia () và đảo ngược ()

def reverse_join_reversed_iter(s):
    s1 = ''.join(reversed(s))
    return s1

1.5) Chuỗi đảo ngược Python bằng Danh sách Reverse ()

def reverse_list(s):
    temp_list = list(s)
    temp_list.reverse()
    return ''.join(temp_list)

1.6) Chuỗi đảo ngược Python bằng cách sử dụng đệ quy

def reverse_recursion(s):
    if len(s) == 0:
        return s
    else:
        return reverse_recursion(s[1:]) + s[0]

2. Cách tốt nhất để đảo ngược một chuỗi trong Python

Chúng ta có thể đảo ngược một chuỗi thông qua nhiều thuật toán. Chúng tôi đã thấy sáu người trong số họ. Nhưng bạn nên chọn đảo ngược một chuỗi. Chúng ta có thể sử dụng mô -đun thời gian để chạy nhiều lần lặp của các chức năng này và có thời gian trung bình cần thiết để chạy chúng. Tất cả các chức năng trên được lưu trữ trong tập lệnh Python có tên

Reverse String using slicing = FE∂çBA
0. Tôi đã thực hiện tất cả các chức năng này từng chức năng một trong 1,00.000 lần bằng mô -đun thời gian và có mức trung bình của 5 lần chạy tốt nhất.

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_slicing("ABç∂EF"*10)'
100000 loops, best of 5: 0.449 usec per loop

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_list("ABç∂EF"*10)'
100000 loops, best of 5: 2.46 usec per loop

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_join_reversed_iter("ABç∂EF"*10)'
100000 loops, best of 5: 2.49 usec per loop

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_for_loop("ABç∂EF"*10)'
100000 loops, best of 5: 5.5 usec per loop

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_while_loop("ABç∂EF"*10)'
100000 loops, best of 5: 9.4 usec per loop

$ python3.7 -m timeit --number 100000 --unit usec 'import string_reverse' 'string_reverse.reverse_recursion("ABç∂EF"*10)'
100000 loops, best of 5: 24.3 usec per loop

Hướng dẫn how to reverse a word in python using for loop - cách đảo ngược một từ trong python bằng vòng lặp for
Bảng dưới đây trình bày kết quả và sự chậm chạp của một thuật toán từ cái tốt nhất.

Thuật toánThời gian thực hiện thời gian (tốt nhất của 5)Sự chậm chạp
Cắt lát0,449 USEC1x
Danh sách đảo ngược ()2.46 USEC5,48x
đảo ngược () + tham gia ()2,49 USEC5,55x
cho vòng lặp5,5 USEC12,25x
trong khi lặp lại9,4 USEC20,94x
Đệ quy24.3 USEC54.12x

3. Tóm tắt

Chúng ta nên sử dụng cắt lát để đảo ngược một chuỗi trong Python. Mã của nó rất đơn giản và nhỏ và chúng tôi không cần phải viết logic của riêng mình để đảo ngược chuỗi. Ngoài ra, đó là cách nhanh nhất để đảo ngược một chuỗi như được xác định bởi các lần thực thi thử nghiệm trên.

Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi.

4. Tài liệu tham khảo

  • đảo ngược () API DOC
  • str.join () API DOC

Làm thế nào để bạn đảo ngược một từ trong Python?

Sử dụng cắt để tạo một bản sao ngược của chuỗi ..
Sử dụng cho vòng lặp và nối lại các ký tự theo thứ tự ngược lại ..
Sử dụng trong khi lặp để lặp lại các ký tự chuỗi theo thứ tự ngược lại và nối chúng ..
Sử dụng hàm nối chuỗi () với trình lặp đảo ngược () ..

Làm thế nào để bạn in một chuỗi ngược trong Python trong khi vòng lặp?

Để đảo ngược một chuỗi bằng cách sử dụng vòng lặp trong thời gian trong Python, chúng tôi yêu cầu một con trỏ trỏ đến ký tự cuối cùng trong chuỗi.Chức năng tích hợp của Len Len (), trả về độ dài của chuỗi, có thể được sử dụng để đặt giá trị ban đầu của con trỏ.

Làm cách nào để đảo ngược một từ cụ thể trong một chuỗi?

Từ ngược trong một chuỗi đã cho ..
Xóa khoảng trống khỏi một chuỗi đã cho ..
Di chuyển không gian đến phía trước chuỗi trong một lần chuyển tiếp ..
Xóa thêm khoảng trống khỏi một chuỗi ..
Urlify một chuỗi đã cho (thay thế khoảng trắng bằng %20).
In tất cả các chuỗi có thể được thực hiện bằng cách đặt không gian ..
Đặt không gian giữa các từ bắt đầu bằng chữ in hoa ..

Làm thế nào để bạn đảo ngược một dòng văn bản trong Python?

Chức năng tích hợp () được đảo ngược () để tạo các chuỗi đảo ngược.Tuy nhiên, mục đích chính và trường hợp sử dụng của đảo ngược () là để hỗ trợ lặp ngược lại trên các vòng lặp Python.Với một chuỗi là một đối số, đảo ngược () trả về một trình lặp mang lại các ký tự từ chuỗi đầu vào theo thứ tự ngược lại. join() to create reversed strings. However, the main intent and use case of reversed() is to support reverse iteration on Python iterables. With a string as an argument, reversed() returns an iterator that yields characters from the input string in reverse order.