Hướng dẫn dùng reversed text python
Trong Python, một chuỗi là một chuỗi các ký tự Unicode. Mặc dù Python hỗ trợ nhiều chức năng để thao tác chuỗi, nhưng nó không có chức năng hoặc phương pháp sẵn có được thiết kế rõ ràng để đảo ngược chuỗi. Show >>> 'hocdevops'.reverse() Traceback (most recent call last): File "", line 1, in Đảo ngược chuỗi không phải là một hoạt động phổ biến trong lập trình và thường được sử dụng trong các cuộc phỏng vấn. Bài viết này đi qua nhiều cách khác nhau để đảo ngược một chuỗi trong Python. Nội dung chính
Sử dụngString SliceHiểu cách lập chỉ mục hoạt động trong Python là rất quan trọng để thực hiện thao tác String Slice. Nói chung, số Chỉ mục được sử dụng để truy cập các ký tự cụ thể trong một chuỗi. Có hai loại lập chỉ mục; chỉ số dương và âm. Bạn có thể truy cập ký tự , thông qua số chỉ số dương hoặc thông qua số chỉ số âm là: >>> print('hocdevops'[2]) Output: c >>> print('hocdevops'[-6]) Output: c Chúng ta có thể gọi ra một loạt các kí tự từ một chuỗi thông qua một kỹ thuật cắt. Cắt là hoạt động trích xuất chuỗi của một phần tử con từ chuỗi nhất định. Cú pháp Slice: string[start:stop:step]
Kết quả của việc cắt một chuỗi là một chuỗi mới chứa các yếu tố được chiết xuất và chuỗi ban đầu không được sửa đổi. Để đảo ngược một chuỗi bằng cách sử dụng cắt, ta bỏ qua và đối số và sử dụng một bước tăng âm. Bước tăng âm của có nghĩa là việc cắt bắt đầu ở phần tử cuối cùng và kết thúc ở phần tử đầu tiên, dẫn đến một chuỗi đảo ngược. >>> print('hocdevops'[::-1]) Output: spovedcoh Bạn cũng có thể xác định một hàm tùy chỉnh và sử dụng nó để đảo ngược chuỗi: def rev_str_thru_slicing(str_): return str_[::-1] INPUT_STRING = "hocdevops" if __name__ == '__main__': print("INPUT STRING -", INPUT_STRING) print("REVERSED STRING -", rev_str_thru_slicing(INPUT_STRING)) Output Traceback (most recent call last): File "", line 1, in0 Sử dụng Hàm reversed()Chức năng tích hợp xử lý các mục chuỗi theo thứ tự ngược lại và trả về bộ lặp ngược đã đảo ngược. Trong ví dụ dưới đây, các phần tử của bộ lặp lại đảo ngược được thêm vào một chuỗi trống bằng cách sử dụng toán tử join: Traceback (most recent call last): File "", line 1, in1 Output: Traceback (most recent call last): File "", line 1, in2 Sử dụng List reverse()Để đảo ngược một chuỗi với phương pháp List;trước tiên, chuỗi cần được chuyển đổi thành một danh sách bằng cách sử dụng trình xây dựng. Sau đó, các mục danh sách được đảo ngược tại chỗ với phương pháp và cuối cùng, các mục danh sách được nối thành một chuỗi bằng cách sử dụng phương pháp. Traceback (most recent call last): File "", line 1, in7 Traceback (most recent call last): File "", line 1, in8 Traceback (most recent call last): File "", line 1, in7 >>> print('hocdevops'[2])0 Đây là một ví dụ: Traceback (most recent call last): File "", line 1, in3 Bản sao Traceback (most recent call last): File "", line 1, in4 Sử dụng hàm Đệ quyTrong Python, một hàm đệ quy là một hàm tự gọi cho đến khi một số điều kiện được đáp ứng. Trong đoạn mã bên dưới, hàm tự gọi cho đến khi chiều dài chuỗi lớn hơn 0. Trong mỗi cuộc gọi, chuỗi được cắt, chỉ để lại ký tự đầu tiên. Sau đó, nó được kết hợp với các kí tự bị cắt. Traceback (most recent call last): File "", line 1, in5 Phân tích so sánhTrong phần này, chúng ta sẽ thực hiện một so sánh đơn giản giữa bốn phương pháp được xác định này để xác định hiệu quả của chúng. Chúng ta sẽ phân tích hiệu suất bằng cách sử dụng một mô-đun Python được gọi là “timeit”. Nó cung cấp thời gian thực hiện các đoạn mã. Tùy chọn “lặp lại” của mô-đun “timeit” giúp lặp lại việc thực thi mã một triệu lần. Chúng ta có thể hiểu đầu ra như một thời gian trung bình bằng cách thực hiện đoạn mã một triệu lần. Phương phápThời gian thực hiệnTỷ lệ so sánh Calc.Slicing0.231xList Reverse1.637xJoin & Reserved1.737,5xĐệ quy19.1983xBảng trên cho thấy phương pháp cắt nhanh hơn bảy lần so với cách tiếp cận List Reverse, nhanh hơn 7,5 lần so với cách tiếp cận Join & Reserved và nhanh hơn 83 lần so với phương pháp đệ quy. Vì vậy, cắt là cách nhanh nhất và tốt nhất để đảo ngược chuỗi. Các kết quả trên là phân tích so sánh các phương pháp được thảo luận để đảo ngược chuỗi trong cùng một môi trường. Các con số có thể khác nhau trong các môi trường máy tính khác nhau, nhưng tỷ lệ có thể sẽ vẫn giữ nguyên. Traceback (most recent call last): File "", line 1, in6 Kết thúcPython không có bất kỳ function tích hợp nào để đảo ngược chuỗi, nhưng chúng ta có thể sử dụng các phương pháp khác để đảo ngược chuỗi. Phân tích thử nghiệm hồi quy cho thấy phương pháp cắt là cách nhanh nhất để đảo ngược một chuỗi. |