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']]
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP