我有两个名称中数量相等的信件,如何打印出这两个信件及其数量。

2024-09-30 01:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要显示的字母和它的计数,如果它有一个名称中的最大计数。但是,我有两个字母(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}")

Tags: namein名称forifnamescount字母
3条回答

将这些值存储在dict中并找到最大\u频率

name = 'Annuu'
name = name.lower()

d={}
for i in name:
    d[i]=d.get(i,0)+1

max_freq = max((d.values()))

for k,v in sorted(d.items(),key=lambda (x,y):(y,x), reverse=True):
    if v == max_freq:
        print(k,v)
    else:
        break

可以使用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)

这不需要使用任何导入:

name = "Onnuu"
name = name.lower()
names = set(name)
print(names)
l = []

for i in names:
    l.append((name.count(i),i))

l.sort(reverse = True)

for i in l:
    if l[0][0] == i[0]:
        print(i[1])

相关问题 更多 >

    热门问题