Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python前5名字母获取者_Python - Fatal编程技术网

Python前5名字母获取者

Python前5名字母获取者,python,Python,我有一个编码项目,这是我的代码 from operator import itemgetter # 1. Get input # 2. Split each letter and number # 3. Find the 5 most frequent numbers # 4. Find the letter or number and print the answers countcount = 0 N = 5 # Overview code input123 = str(input('P

我有一个编码项目,这是我的代码

from operator import itemgetter 
# 1. Get input
# 2. Split each letter and number
# 3. Find the 5 most frequent numbers
# 4. Find the letter or number and print the answers
countcount = 0

N = 5
# Overview code
input123 = str(input('Please enter your letters \n')).replace(" ", "")
test_list = str({i :input123.count(i) for i in set(input123)})

# Get Top N elements from Records 
# Using sorted() + itemgetter() 
res = sorted(test_list, key = itemgetter(0), reverse = True)[:N] 
  
# printing result 
print("The top N records are : " + str(res))
print(str(res))

如您所见,我想输入一个随机字符串,并获得前5个字母/数字。现在,如果我输入qqqwwww eeeerrtty,其中2个答案将是
{
}
,而其余答案将是q、w、e、r、t或y。我是否错误地使用了
itemgetter

itemgetter
不是问题所在。
您不应该将
测试列表
转换为
str
(这就是
{}
的引入点);相反,请将其保留为dict。然后参考以按您的意愿对dict进行排序。

另一种可能更适合计数的数据类型,例如字符是具有内置最常用方法的计数器

从集合导入计数器
_输入=输入(“请输入您的字母:”)。替换(“,”)
计数器=计数器(_输入)
打印(计数器。最常见(5))
#如果您只需要字符,而不需要出现char+num的元组,请单击下面的行。
#打印([tup[0]用于计数器中的tup。最常见(5))

给定输入
qqqwwwwww eeerrrtty
您将获得输出
['q'、'w'、'e'、'r'、't']
[('q',6),('w',5),('e',4),('r',3),('t',2)]
取决于您在上述示例中选择的两个打印选项中的哪一个。

我不理解第一个答案
{和