Python:打印用户输入的常用字母

Tho*_*nes 1 python printing letter count

有没有更好的方法来编写这段代码.虽然没有错误,但它似乎打印了我输入的所有字母排序到列表中.

我想在字符串中打印常用字母,即使不止一个.

这就是我所拥有的

mystr = input("Enter a string:")
s = list(mystr) 
letter_counter = {}
for word in mystr:
    if word in letter_counter:
         letter_counter[word] += 1
    else:
         letter_counter[word] = 1

 user_letter = sorted(letter_counter, key = letter_counter.get, reverse = True)

 number_1 = user_letter[:2]
 print(number_1)  
Run Code Online (Sandbox Code Playgroud)

我可以打印正确字母的唯一方法是设置限制

number_1 = user_letter[:2]

例如,如果我输入以下内容:

mystr = input("Thomas Jones")
Run Code Online (Sandbox Code Playgroud)

在代码中打印输出将是

print(number_1)       
[o], [s]
Run Code Online (Sandbox Code Playgroud)

这是正确的,但如果将限制由设置23

number_1 = user_letter[:3]

它将打印[o] [s] [a]只有一个a它不应该存在.我想要它,以便用户输入任何数量的单词将显示没有限制器的正确重复字母.

我是开明的,我不知道如何纠正这个问题

Bem*_*mmu 8

from collections import Counter
[letter for letter,count in Counter("Thomas Jones").items() if count > 1]
Run Code Online (Sandbox Code Playgroud)