tutorial-string

Tìm hiểu cách đảo ngược chuỗi trong Python

logo 1024 23

Trong lập trình Python, việc xử lý chuỗi là điều rất quan trọng. Một trong những thao tác cơ bản với chuỗi là đảo ngược nó. Đảo ngược chuỗi có nghĩa là chúng ta cần phải chuyển từ chuỗi ban đầu thành dạng đảo ngược, ví dụ “Helloworld!” trở thành “!dlrow olleH”. Trong bài viết này, chúng ta hãy cùng nhau tìm hiểu những cách đảo ngược chuỗi trong Python.

1. Đảo ngược chuỗi trong Python bằng slice extended

text = "Hello world!"
reversed_text = text[::-1]
print(reversed_text)  # Output: "!dlrow olleH"

Trong đoạn mã trên chúng ta sử dụng [::-1] để cắt chuỗi từ đầu đến cuối với bước -1, điều này có nghĩa là nó sẽ lấy tất cả các ký tự của chuỗi text và đảo ngược thứ tự của chúng. Kết quả chúng ta có được chuỗi !dlrow olleH.

2. Đảo ngược chuỗi trong Python bằng phương thức str.reverse()

str.reverse() là phương thức có sẵn trong Python, phương thức này được sử dụng cho danh sách list. Ở đây, khi muốn sử dụng str.reverse() chúng ta cần chuyển đổi chuỗi ban đầu thành danh sách trước khi sử dụng phương thức này.

text = "Hello world!"
text_list = list(text)
text_list.reverse()
reversed_text = ''.join(text_list)
print(reversed_text)  # Output: "!dlrow olleH"

>>> Xem thêm bài viết:

3. Đảo ngược chuỗi trong Python bằng reversed() và join()

Trong Python, chúng ta có đối tượng iterator, với iterator chúng ta cũng sẽ có thể tạo ra một chuỗi đảo ngược. Với cách này, chúng ta có thể sử dụng hàm reversed() để tạo ra một đối tượng iterator và sau đó tiếp tục sử dụng join() để kết hợp các ký tự trong iterator lại thành một chuỗi đã được đảo ngược.

text = "Hello world!"
reversed_text = ''.join(reversed(text))
print(reversed_text)  # Output: "!drow olleH"

4. Đảo ngược chuỗi trong Python bằng vòng lặp

Một cách cơ bản khác chúng ta có thể sử dụng đó là vòng lặp. Với cách này chúng ta sẽ không dùng những hàm hay thư viện đã có sẵn mà chỉ sử dụng vòng lặp trong Python. Ở đây, chúng ta sẽ thực hiện duyệt qua chuỗi từ phải sang trái, từ đó xây dựng được một chuỗi mới bằng cách thêm từng ký tự vào đầu chuỗi mới.

text = "Hello  !"
reversed_text = ""
for char in text:
    reversed_text = char + reversed_text
print(reversed_text)  # Output: "!eegnirtS olleH"

5. Đảo ngược chuỗi trong Python bằng đệ quy

Ngoài những cách trên, chúng ta hoàn toàn có thể sử dụng đệ quy để có thể đảo ngược chuỗi trong Python như ví dụ sau:

def reverse(s):
    if len(s) == 0:
        return s
    else:
        return reverse(s[1:]) + s[0]
text = "Hello  !"
print(text)  # Output: "!eegnirtS olleH"

6. Đảo ngược chuỗi trong Python bằng ngăn xếp

Trong Python, có một cách để đảo ngược chuỗi cũng rất thú vị đó là sử dụng ngăn xếp. Chúng ta có thể xem ví dụ sau đây:

def reverse_string_with_stack(input_string):
    # Tạo một ngăn xếp rỗng
    stack = []
    # Đẩy từng ký tự của chuỗi vào ngăn xếp
    for char in input_string:
        stack.append(char)
    # Khởi tạo một biến để chứa chuỗi đảo ngược
    reversed_string = ""
    # Lấy các ký tự ra khỏi ngăn xếp để tạo chuỗi đảo ngược
    while len(stack) > 0:
        reversed_string += stack.pop()
    return reversed_string
# Chuỗi ban đầu
input_string = "Hello  !"
# Gọi hàm để đảo ngược chuỗi
reversed_string = reverse_string_with_stack(input_string)
# In kết quả
print("Chuỗi ban đầu:", input_string)
print("Chuỗi đảo ngược:", reversed_string)
# Chuỗi ban đầu: Hello  !
# Chuỗi đảo ngược: !eegnirtS olleH

Tổng kết

Việc đảo ngược chuỗi là một nhiệm vụ cơ bản trong lập trình Python. Trong bài viết này, chúng ta đã tìm hiểu cách thực hiện điều này bằng các phương thức cơ bản, vòng lặp và các hàm như reversed()join(). Hãy lựa chọn cách phù hợp nhất với tình huống của bạn và tiến hành đảo ngược chuỗi một cách dễ dàng. Bạn cũng có thể tìm hiểu thêm về Python tại đây.


Cộng Đồng Linux là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 – 3 năm.

Bộ API giao tiếp của hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy,  Adavigo, bTaskee…

Quý bạn đọc quan tâm xin mời đăng ký bài viết mới:

logo 1024 23

Đăng ký liền tay Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !

Add Comment

Click here to post a comment

Đăng ký liền tay
Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !