Reverse() có hoạt động trên chuỗi Python không?

Khi chúng tôi sử dụng các chuỗi trong mã python của mình, chúng tôi có thể gặp một số điều kiện trong đó chúng tôi phải đảo ngược chuỗi, nhưng chúng tôi không có bất kỳ chức năng sẵn có nào để đảo ngược chuỗi. Trong trường hợp đó, chúng ta có thể sử dụng nhiều cách tiếp cận có thể hữu ích trong việc đảo ngược chuỗi, chẳng hạn như sử dụng cú pháp lát cắt mở rộng, vòng lặp, đệ quy, ngăn xếp và hàm Reverse()

Phạm vi

Bài viết này đáp ứng các điểm sau

  • Bài viết này bao gồm các cách tiếp cận khác nhau để đảo ngược một chuỗi
    • Sử dụng cú pháp lát cắt mở rộng
    • Sử dụng vòng lặp
    • Sử dụng đệ quy
    • Sử dụng ngăn xếp
    • Đảo ngược chuỗi với. tham gia() và đảo ngược()

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

Có thể có rất nhiều tình huống trong khi mã hóa mà bạn phải đảo ngược một chuỗi để sử dụng nó. Vì vậy, việc biết các kỹ thuật đảo ngược chuỗi này trở nên cần thiết để thực hiện các tác vụ dễ dàng hơn. Chúng tôi không có bất kỳ chức năng sẵn có nào để đảo ngược chuỗi. Vì vậy, chúng tôi làm theo các cách tiếp cận khác nhau để đảo ngược chuỗi như được liệt kê bên dưới

  • Đảo ngược chuỗi sử dụng cú pháp lát cắt mở rộng
  • Đảo ngược chuỗi sử dụng vòng lặp
  • Đảo ngược chuỗi sử dụng đệ quy
  • Đảo ngược Chuỗi sử dụng ngăn xếp
  • Đảo ngược chuỗi với. tham gia() và đảo ngược()

Chúng ta hãy xem tất cả các phương thức này để đảo ngược một chuỗi

Đọc ở đây để tìm hiểu thêm về, Làm thế nào để đảo ngược một chuỗi trong Python?

Sử dụng cú pháp lát cắt mở rộng

Chúng ta có thể sử dụng kỹ thuật cắt của python để đảo ngược chuỗi. Chuỗi có thể được mở rộng cắt lát bằng cú pháp sau

Trong đó bắt đầu là chỉ mục bắt đầu mà chuỗi con được tạo, kết thúc là chỉ mục kết thúc của chuỗi và bước là giá trị nguyên xác định mức tăng giữa mỗi số nguyên trong chỉ mục bắt đầu và kết thúc của chuỗi. Nếu bước được đặt thành -1, nó sẽ truy cập chuỗi theo thứ tự ngược lại

Chúng tôi sẽ đặt bắt đầu và kết thúc là trống để truy cập toàn bộ độ dài chuỗi và bước là -1 để truy cập chuỗi theo thứ tự ngược lại. Do đó, chúng ta sẽ nhận được toàn bộ chuỗi theo thứ tự đảo ngược. Trong quá trình này, phiên bản đảo ngược của chuỗi đã cho được tạo và gán cho chuỗi gốc của chúng tôi

Độ phức tạp về thời gian của phương pháp này là O(N)O(N)O(N) trong đó NNN là độ dài của chuỗi cần đảo ngược

Thí dụ

# Reverse function
def reverse(s):
    # Reversing the string using extended slicing 
    s = s[::-1]
    return s


# String to reverse
s = "String Topics"

# Printing the original string
print("Original string is :", s)

# Printing the reversed string
print("Reversed string is :", reverse(s))

đầu ra

Original string is : String Topics
Reversed string is : scipoT gnirtS

Sử dụng vòng lặp

Chúng ta có thể đảo ngược một chuỗi bằng cách lặp lại chuỗi đó thông qua một vòng lặp đảo ngược từ cuối chuỗi đến chuỗi bắt đầu và nối từng ký tự thành một chuỗi mới. Trong quá trình này, chuỗi đảo ngược mới được tạo và in

Độ phức tạp về thời gian của phương pháp này là O(N)O(N)O(N) trong đó NNN là độ dài của chuỗi cần đảo ngược

Thí dụ

Trong ví dụ này, chúng ta đang lặp lại chuỗi theo thứ tự ngược lại bằng cách đặt giá trị bắt đầu của vòng lặp thành len(s)−1len(s)-1len(s)−1. Và kết thúc đến -1 và bước tới -1 để lặp lại từ độ dài chuỗi đến chỉ mục thứ 00

Sau khi lặp lại theo thứ tự ngược lại, chúng tôi nối các giá trị thành một biến chuỗi mới

# Reverse function
def reverse(s):
    string=""
    # Reversing the string using looping 
    for i in range(len(s)-1, -1, -1):
        string+=s[i]
    return string

# String to reverse
s = "String Topics"

# Printing the original string
print("Original string is :", s)

# Printing the reversed string
print("Reversed string is :", reverse(s))

đầu ra

Original string is : String Topics
Reversed string is : scipoT gnirtS

Sử dụng đệ quy

Chúng ta có thể sử dụng khái niệm đệ quy để đảo ngược chuỗi. Chúng ta sẽ gọi đệ quy hàm reverse() và tiếp tục thêm ký tự chỉ số cuối cùng vào đầu chuỗi. Hãy lấy một ví dụ về chuỗi "ABC". Và đối với điều đó, chuỗi được truyền dưới dạng đối số cho hàm đệ quy, hàm này sẽ đảo ngược chuỗi. Điều kiện cơ bản của hàm là chuỗi được trả về nếu độ dài của nó bằng 0. Nếu không bằng 0, hàm đảo ngược sẽ cắt đệ quy chuỗi trừ ký tự cuối cùng và nối ký tự cuối cùng với đầu chuỗi. Dưới đây là cây đệ quy cho chuỗi "ABC"

Reverse() có hoạt động trên chuỗi Python không?

Độ phức tạp về thời gian của phương pháp này là O(N)O(N)O(N) trong đó NNN là độ dài của chuỗi cần đảo ngược

Thí dụ

Chuỗi được truyền dưới dạng đối số cho hàm đệ quy trong mã bên dưới, hàm này sẽ đảo ngược chuỗi. Điều kiện cơ bản của hàm là chuỗi được trả về nếu độ dài của nó bằng 0. Nếu không bằng 0, hàm đảo ngược sẽ cắt đệ quy chuỗi trừ ký tự cuối cùng và nối ký tự cuối cùng với đầu chuỗi. Trong quá trình này, chuỗi mới sẽ không được tạo vì chúng tôi đang thực hiện các thay đổi trong chính chuỗi đã cho


# Reverse function
def reverse(s):
    # If the length of the string is 0, return the entire string
    if(len(s)==0):
        return s
    
    # Else, slice the last index of the string and add it to the start
    else:
        return s[-1] + reverse(s[:-1])

# String to reverse
s = "Python is Awesome"

# Printing the original string
print("Original string is :", s)

# Printing the reversed string
print("Reversed string is :", reverse(s))

đầu ra

Original string is : Python is Awesome
Reversed string is : emosewA si nohtyP

Sử dụng ngăn xếp

Chúng ta có thể sử dụng ngăn xếp để đảo ngược chuỗi của mình. Chúng ta sẽ sử dụng các hàm đẩy và bật của ngăn xếp để đẩy tất cả các ký tự vào ngăn xếp và sau đó bật từng ký tự một để lấy toàn bộ chuỗi theo thứ tự ngược lại

Dưới đây là lưu đồ của một chuỗi ví dụ "ABC" được đảo ngược bằng cách sử dụng ngăn xếp

Reverse() có hoạt động trên chuỗi Python không?

Độ phức tạp về thời gian của phương pháp này là O(N)O(N)O(N) trong đó NNN là độ dài của chuỗi cần đảo ngược

Thí dụ

Một ngăn xếp mới được xây dựng. Các ký tự chuỗi được đẩy vào ngăn xếp từng ký tự một. Tất cả các ký tự từ ngăn xếp được bật ra và trả về chuỗi. Vì vậy, trong quá trình này, chuỗi đảo ngược mới được tạo và gán cho chuỗi ban đầu của chúng tôi


# push function
def push(stack, elem):
    stack.append(elem)

# pop function
def pop(stack):
    if(len(stack)!=0):
        return stack.pop()
    else:
        return


# Reverse function
def reverse(s):
    n = len(s)
    stack=[]
    
    # Pushing values to stack
    for i in s:
        push(stack, i)
    
    s=''
    # popping values from stack
    for i in range(n):
        a = pop(stack)
        s+=a
    return s
    
# String to reverse
s = "String Topics"

# Printing the original string
print("Original string is :", s)

# Printing the reversed string
print("Reversed string is :", reverse(s))

đầu ra

Original string is : String Topics
Reversed string is : scipoT gnirtS

Đảo ngược chuỗi với. tham gia() và đảo ngược()

Reverse() hàm trong python được sử dụng để đảo ngược trình vòng lặp đã cho ở dạng danh sách. hàm join() nối tất cả các ký tự của iterator thành một chuỗi gốc mới. Chúng ta có thể sử dụng hàm Reverse() để đảo ngược chuỗi trong danh sách và sau đó sử dụng. hàm join() để nối tất cả các ký tự vào chuỗi ban đầu của chúng ta

Độ phức tạp về thời gian của phương pháp này là O(N) trong đó N là độ dài của chuỗi cần đảo ngược

Thí dụ

Hàm Reverse() trả về danh sách đảo ngược của chuỗi đã cung cấp. Và các phần tử của nó sau đó được hợp nhất bằng cách sử dụng phép nối() để tạo thành một chuỗi đảo ngược. Chuỗi cũ thay thế chuỗi mới bị đảo ngược bằng thao tác gán

Bạn có thể sử dụng đảo ngược () trên một chuỗi trong Python không?

Hàm tích hợp Reverse() . Tuy nhiên, mục đích chính và trường hợp sử dụng của Reverse() là hỗ trợ phép lặp ngược trên Python iterables . Với một chuỗi làm đối số, Reverse() trả về một trình vòng lặp mang lại các ký tự từ chuỗi đầu vào theo thứ tự ngược lại.

Reverse() có hoạt động trên chuỗi không?

Hàm Reverse() tích hợp sẵn của Python trả về một trình vòng lặp đảo ngược trên các giá trị của một chuỗi đã cho. Đưa ra một chuỗi như any_string , bạn có thể sử dụng phương thức Reverse() để lấy các ký tự theo thứ tự đảo ngược

Reverse() hoạt động như thế nào trong Python?

Hàm đảo ngược Python() . Nó chấp nhận một chuỗi và trả về một trình vòng lặp. Chuỗi danh sách trình tự, danh sách, tuple, v.v. Để tạo ra kết quả ngay lập tức, chúng tôi đã gói Reverse() trong lệnh gọi list(). allows us to process the items in a sequence in reverse order. It accepts a sequence and returns an iterator. A sequence list string, list, tuple etc. To produce the result at once we have wrapped reversed() in a list() call.