Cách đảo ngược từ trong câu trong python

Trong bài viết này, bạn sẽ học, Trong python, cách đảo ngược thứ tự các từ trong chuỗi. Xin lưu ý rằng ở đây chúng tôi không đảo ngược ký tự

Thí dụ

# Program to explain reverse Word in String or Sentence
# Using for split() function

# Define a function
def reverse_word(string):
    # Split string with blank space
    # And convert to list
    rlist=string.split()

    # Reverse list using reverse function
    rlist.reverse()

    # Convert list to string with space
    return " ".join(rlist)

string = 'This is Our Website Stechies'

# Print Original and Reverse string
print('Original String: ', string)
print('Reverse String: ', reverse_word(string))

đầu ra.  

Original :  This is Our Website Stechies
Reverse :  Stechies Website Our is This

Giải trình

Trong ví dụ trên, đầu tiên, chúng ta chuyển đổi một chuỗi thành danh sách bằng hàm split(), sau đó đảo ngược thứ tự của danh sách bằng hàm reverse() và chuyển đổi danh sách ngược thành chuỗi bằng phương thức join()

Trong hướng dẫn này, chúng ta sẽ học cách đảo ngược các từ trong một chuỗi đã cho bằng Python. Chuỗi trong Python là một dãy ký tự. Để tạo một chuỗi, hãy đặt chuỗi ký tự bên trong dấu nháy đơn, nháy kép hoặc nháy ba rồi gán nó cho một biến. Đảo ngược các từ trong một chuỗi có nghĩa là chúng ta phải đảo ngược vị trí của tất cả các từ trong chuỗi cụ thể đó

Ví dụ, chuỗi "Welcome to StudyTonight" phải được đảo ngược thành "StudyTonight to Welcome"

Nhìn vào mẫu đầu vào và đầu ra của chương trình

Đầu vào. Chào thế giới

đầu ra. thế giới xin chào

Để đảo các từ trong chuỗi trước hết ta phải tách các từ trong chuỗi ra rồi đảo từng từ riêng lẻ. Chúng ta sẽ sử dụng hàm split() sẽ tự động tách các từ. Sau đó, chúng tôi sẽ thêm các từ này vào chuỗi mới theo thứ tự đảo ngược

thuật toán

Thực hiện theo thuật toán để hiểu cách tiếp cận tốt hơn

Bước 1- Xác định một hàm sẽ chấp nhận chuỗi và đảo ngược các từ trong chuỗi

Bước 2- Trong hàm, trước tiên hãy tách các từ bằng cách sử dụng split()

Bước 3- Bây giờ đảo ngược các từ và thêm chúng vào một chuỗi mới

Bước 4- Trả về chuỗi mới

Chương trình Python

Trong chương trình của chúng tôi, chúng tôi đã sử dụng Reverse() để lấy iterator truy cập chuỗi đã cho theo thứ tự ngược lại. Và để thêm các từ trong chuỗi mới, chúng tôi đã sử dụng phép nối () sẽ nối tất cả các từ có khoảng trắng trong chuỗi mới

def rev_words(string):  
    words = string.split(' ') 
    rev = ' '.join(reversed(words)) 
    return rev
 
s= "Python is good"
print ("reverse: ",rev_words(s))

s2= "Hello from Study tonight"
print ("reverse: ",rev_words(s2))


đảo ngược. tốt là Python
đảo ngược. tối nay học từ Xin chào

Phần kết luận

Trong hướng dẫn này, chúng ta đã thảo luận về cách đảo ngược các từ của một chuỗi trong Python. Chúng tôi đã sử dụng các hàm chuỗi có sẵn như split(), Reverse() và join() trong chương trình của mình. Việc sử dụng từng chức năng được thảo luận đúng ở trên

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, âm, có nghĩa là lùi một bước

Cắt chuỗi

txt = "Xin chào thế giới"[. -1]
in (txt)

Bây giờ chúng ta có một chuỗi txt đọc ngược "Xin chào thế giới"

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

In danh sách

txt = "Xin chào thế giới"[. -1]
in (txt)


Cách đảo ngược từ trong câu trong python


Tạo một chức năng

Nếu bạn muốn có một hàm mà bạn có thể gửi các chuỗi của mình và trả về ngược lại, bạn có thể tạo một hàm và chèn mã từ ví dụ trên

Chúng tôi được cung cấp một chuỗi làm đầu vào trong Python và nhiệm vụ của chúng tôi là đảo ngược các từ có trong chuỗi. Chúng tôi sẽ sử dụng các hàm chuỗi khác nhau trong Python để hoàn thành chương trình

Phạm vi

  • Trong bài viết này, chúng ta sẽ tìm hiểu cách đảo ngược các từ của một chuỗi được nhập làm đầu vào trong Python
  • Chúng ta sẽ nghiên cứu cách triển khai các hàm chuỗi tích hợp sẵn của Python như split(), Reverse() và join() trong chương trình của chúng ta để đảo ngược các từ trong một chuỗi

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

Trong Python, một chuỗi được tạo bằng cách đặt một dòng ký tự bên trong dấu nháy đơn, nháy kép hoặc nháy ba. Đảo ngược từ trong một chuỗi có nghĩa là chúng ta phải đảo ngược vị trí của tất cả các từ trong chuỗi đã cho

ví dụ

Chúng ta hãy xem xét một số ví dụ

Input: Hello World
Output: World Hello

Input: I love Programming
Output: Programming love I

Phương pháp - 1. Đảo ngược các từ riêng lẻ và sau đó đảo ngược toàn bộ chuỗi

Trực giác của cách tiếp cận này là trước tiên đảo ngược từng từ có trong chuỗi riêng lẻ,

Ví dụ
Tôi thích mã hóa trở thành, tôi ekil gnidoc. Bây giờ, chúng ta phải đảo ngược toàn bộ chuỗi để có được kết quả mong muốn, trong trường hợp của ví dụ này sẽ được mã hóa như I

Bây giờ chúng ta hãy xem cách triển khai phương pháp này để đảo ngược các từ trong một chuỗi bằng Python

def reverseWord(s, start, end):
    while start < end:
        s[start], s[end] = s[end], s[start]
        start = start + 1
        end = end - 1

s = "I love Programming"

# convert string to a list of characters
s = list(s)
# to keep track of where each word starts
start = 0

while True:

    try:
        # find space
        end = s.index(' ', start)
        # Call reverseWord for each word
        reverseWord(s, start, end - 1)
        #update start variable
        start = end + 1

    # for the last word in string ValueError is returned
    except ValueError:
        # reverse the last word
        reverseWord(s, start, len(s) - 1)
        break

# reverse the entire list
s.reverse()

# convert the character list back to string
s = "".join(s)

print(s)

đầu ra

phân tích độ phức tạp

Vì chúng ta duyệt qua toàn bộ chuỗi một lần để đảo ngược các từ trong chuỗi, Độ phức tạp Thời gian là O(n)O(n)O(n), trong đó nnn là kích thước của chuỗi

Mặc dù cần có một không gian phụ trợ để lưu trữ chuỗi theo cách ngược lại, Độ phức tạp của Không gian là O(1)O(1)O(1)