Hướng dẫn how do you reverse a line of text in python? - làm thế nào để bạn đảo ngược một dòng văn bản trong python?


Tìm hiểu làm thế nào để đảo ngược một chuỗi trong Python.


Không có chức năng tích hợp để đảo ngược một chuỗi trong Python.

Cách nhanh nhất (và dễ nhất?) Là sử dụng một lát cắt lùi, -1.

Thí dụ

Đảo ngược chuỗi "Hello World":

txt = "Hello World" [::-1] in (txt)
print(txt)

Hãy tự mình thử »

Ví dụ giải thích

Chúng tôi có một chuỗi, "Hello World", mà chúng tôi muốn đảo ngược:

Chuỗi để đảo ngược

txt = "Hello World" [::-1] in (txt)"Hello World"[::-1]
print(txt)

Tạo một lát bắt đầu ở cuối chuỗi và di chuyển về phía sau.

Trong ví dụ cụ thể này, câu lệnh SLICE [::-1] có nghĩa là bắt đầu ở cuối chuỗi và kết thúc ở vị trí 0, di chuyển với bước -1, tiêu cực, có nghĩa là một bước lùi.

Lát chuỗi

txt = "Hello World" [::-1] in (txt)[::-1]
print(txt)

Tạo một lát bắt đầu ở cuối chuỗi và di chuyển về phía sau.

Trong ví dụ cụ thể này, câu lệnh SLICE [::-1] có nghĩa là bắt đầu ở cuối chuỗi và kết thúc ở vị trí 0, di chuyển với bước -1, tiêu cực, có nghĩa là một bước lùi.

Lát chuỗi

Bây giờ chúng ta có một chuỗi

Reverse String using slicing = FE∂çBA
1 có nội dung "Xin chào thế giới" ngược.
print(txt)



In chuỗi để chứng minh kết quả

In danh sách

Thí dụ

Đảo ngược chuỗi "Hello World":
  return x[::-1]

txt = "Hello World" [::-1] in (txt)

Hãy tự mình thử »

Hãy tự mình thử »

Ví dụ giải thích

Chúng tôi có một chuỗi, "Hello World", mà chúng tôi muốn đảo ngược:

In chuỗi để chứng minh kết quả

In danh sách
  return x[::-1]

txt = "Hello World" [::-1] in (txt)

Hãy tự mình thử »

Ví dụ giải thích

Lát chuỗi

In danh sách
  return x
[::-1]

txt = "Hello World" [::-1] in (txt)

Hãy tự mình thử »

Ví dụ giải thích

Chúng tôi có một chuỗi, "Hello World", mà chúng tôi muốn đảo ngược:

In danh sách
 
return x[::-1]

txt = "Hello World" [::-1] in (txt)

Hãy tự mình thử »

Ví dụ giải thích

Chúng tôi có một chuỗi, "Hello World", mà chúng tôi muốn đảo ngược:

Chuỗi để đảo ngược
  return x[::-1]
mytxt = my_function("I wonder how this text looks like backwards")print(mytxt)

txt = "Hello World" [::-1] in (txt)

Tạo một lát bắt đầu ở cuối chuỗi và di chuyển về phía sau.

In danh sách
  return x[::-1]

txt = "Hello World" [::-1] in (txt)

print(mytxt)



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 hàm
    Reverse String using slicing = FE∂çBA
    
    2 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 slicing = FE∂çBA
3

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
4. 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 do you reverse a line of text in python? - làm thế nào để bạn đảo ngược một dòng văn bản trong python?
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 dòng trong Python?

Tạo một lát bắt đầu ở cuối chuỗi và di chuyển về phía sau. Trong ví dụ cụ thể này, câu lệnh SLICE [:: -1] có nghĩa là bắt đầu ở cuối chuỗi và kết thúc ở vị trí 0, di chuyển với bước -1, tiêu cực, có nghĩa là một bước lùi.. In this particular example, the slice statement [::-1] means start at the end of the string and end at position 0, move with the step -1 , negative one, which means one step backwards.

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

Đảo ngược một chuỗi là một khái niệm đơn giản ...
chia () chuỗi các chữ cái và lưu trữ chúng trong một mảng ..
Đảo ngược mảng bằng mảng.nguyên mẫu.đảo ngược().
Tham gia tất cả các chữ cái để tạo ra một chuỗi mới bằng tham gia ().

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

Tham gia các từ bằng cách sử dụng chức năng tham gia và in nó ...
Khởi tạo chuỗi ..
Chia chuỗi trên không gian và lưu trữ danh sách kết quả trong một biến có tên là Words ..
Đảo ngược danh sách các từ bằng hàm đảo ngược ..
Chuyển đổi kết quả thành danh sách ..

Làm thế nào để bạn đảo ngược một chuỗi trong một phạm vi trong Python?

Thí dụ -..
#reverse Một chuỗi bằng cách sử dụng đảo ngược ().
# Hàm để đảo ngược một chuỗi ..
DEF Đảo ngược (Str):.
Chuỗi = "".
Trở lại chuỗi ..
s = "javatpoint".
in ("Chuỗi gốc là:", s).
in ("Chuỗi đảo ngược bằng cách sử dụng đảo ngược () là:", đảo ngược (s)).