Python程式查詢公司名稱中出現頻率最高的三個字母


假設我們有一個公司名稱作為字串。我們需要找到公司名稱中最常見的三個字元,並按照以下規則顯示它們:

  • 選擇出現頻率最高的三個字母
  • 按降序排序
  • 如果某些字元的頻率相同,則按字母順序排列

因此,如果輸入類似於 s = "TUTORIALSPOINT",則輸出將為 [[3, 'T'], [2, 'I'], [2, 'O']]

為了解決這個問題,我們將遵循以下步驟:

  • x := 一個包含字母和s中字母頻率的對映
  • res := 一個新的列表
  • 對於x中的每個i,執行以下操作:
    • 將(x[i], i)對插入到ret中
  • res := 基於字母順序排序後的res
  • res := 基於頻率(逆序)排序後的res
  • 返回res中的前三個元素

示例

讓我們看看以下實現以獲得更好的理解

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))

輸入

"TUTORIALSPOINT"

輸出

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

更新於: 2021年10月12日

486 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.