Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để tìm ba chữ cái thường xuất hiện hàng đầu từ tên công ty

Giả sử chúng ta có tên công ty là chuỗi. Chúng tôi phải tìm ba ký tự phổ biến nhất từ ​​tên công ty và hiển thị chúng bằng cách tuân theo các quy tắc sau -

  • Chọn ba chữ cái thường gặp nhất
  • Sắp xếp chúng theo thứ tự giảm dần
  • Nếu tần số của một số ký tự giống nhau thì lấy theo thứ tự bảng chữ cái của chúng

Vì vậy, nếu đầu vào là s =​​"TUTORIALSPOINT", thì đầu ra sẽ là [[3, 'T'], [2, 'I'], [2, 'O']]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • x:=một bản đồ chứa các chữ cái và tần số của các chữ cái trong s
  • res:=một danh sách mới
  • đối với mỗi i trong x, thực hiện
    • chèn cặp (x [i], i) vào ret
  • res:=res sau khi được sắp xếp dựa trên thứ tự bảng chữ cái
  • res:=res sau khi được sắp xếp dựa trên tần suất theo thứ tự ngược lại
  • trả lại ba mục đầu tiên từ res

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

from collections import Counter
def solve(s):
   x = Counter(s)
   res = []

   for i in x:
      res.append([x[i], i])

   res = sorted(res, key=lambda cnt: cnt[1])
   res = sorted(res, key=lambda cnt: cnt[0], reverse=True)

   return res[:3]

s = "TUTORIALSPOINT"
print(solve(s))

Đầu vào

"TUTORIALSPOINT"

Đầu ra

[[3, 'T'], [2, 'I'], [2, 'O']]