Khi hai chuỗi có các ký tự giống nhau nhưng được sắp xếp theo thứ tự khác nhau thì chúng được gọi là đảo chữ. Ví dụ:chỗ và bài là đảo ngữ vì chúng có các chữ cái giống nhau tạo thành các từ khác nhau. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể kiểm tra xem hai chuỗi có phải là đảo ngữ của nhau hay không.
Đối với điều này, chúng tôi sử dụng mô-đun python được gọi là bộ sưu tập. Điều này được sử dụng để lưu trữ các bộ sưu tập dữ liệu, như danh sách, dict, set, tuple, v.v. Đây là ví dụ về các bộ sưu tập tích hợp sẵn. Hàm counter () chỉ cần đếm số lần một phần tử có mặt trong một tập hợp và trả về kết quả dưới dạng một từ điển hiển thị phần tử và số lượng của nó. Vì vậy, nếu hai chuỗi có số lượng trùng khớp của mỗi ký tự hiện diện trong chúng thì chúng tôi coi chúng là từ đảo ngữ.
Ví dụ
from collections import Counter StringA = 'top spot' StringB = 'pot post' # Print the elements as adictionary print Counter(StringA) print Counter(StringB) # Compare the dictionaries if Counter(StringA)== Counter(StringB): print 'StringA and StringB are Anagrams'
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Counter({'p': 2, 't': 2, 'o': 2, 's': 1, ' ': 1}) Counter({'p': 2, 't': 2, 'o': 2, 's': 1, ' ': 1}) StringA and StringB are Anagrams