首页 > 解决方案 > 我的名字中有两个相同数量的字母,如何用它们的数量打印这两个字母

问题描述

我需要显示这封信,如果它的名字中有最大计数,它就是计数。但是,我有两个字母 (n:2, u:2) 的名称中计数相同,如何打印两个字母的计数,因为它们具有最大和相等的计数。我只能写一封信。

    name = 'Annuu'
    name = name.lower()
    names = set(name)
    highest = 0
    p = ''

    for i in names:
        if name.count(i) > highest:
             highest = name.count(i)
             p = i
    print(f"{p} {highest}")

标签: pythonpython-3.x

解决方案


您可以使用 Counter 对象来查找计数。然后找到最大计数来过滤字母。

from collections import Counter

name = "annuu"

count_dict = Counter(name)

max_count = max(count_dict.values())

for letter, count in count_dict.items():
    if count == max_count:
        print(letter, count)

推荐阅读