Python程序以查找公司名称中前三个最常出现的字母
假设我们有一个字符串作为公司名称。 我们必须从公司名称中找到最常见的三个字符,并按照以下规则显示它们 –
- 选择最常见的三个字母
- 按降序排序
- 如果某些字符的频率相同,则按字母顺序进行
因此,如果输入为 s =“TUTORIALSPOINT”,则输出将为[[3,’T’],[2,’I’],[2,’O’]]
要解决此问题,我们将按照以下步骤进行 –
- x:=包含字符串s中字母和字母频率的映射
- res:=一个新的列表
- 对于每个x中的i,执行
- 将对(x [i],i)插入ret
- 按字母顺序排序后的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' ]]