【问题描述】
编写一个程序,接收用户输入的一个字符串(可以包含空格),统计其中所有出现过的所有字符,并按照频率高低的顺序排列输出。频率相同的字符按输入顺序输出。
【输入形式】
用户在第一行输入一个字符串,以回车结束输入。
【输出形式】
程序统计字符串中出现的所有字符,然后按照字符出现频率大小排序输出,频率相同时,按输入顺序输出。输出形式规定为每行输出4个字符数据,输出格式为:字符-出现次数。每个字符-出现次数输出中间用一个空格分隔,每行末尾没有空格。程序输出结尾有一个回车。
【样例输入】
The job requires an agile mind.
【样例输出】
#-5 e-4 i-3 r-2
a-2 n-2 T-1 h-1
j-1 o-1 b-1 q-1
u-1 s-1 g-1 l-1
m-1 d-1 .-1
#表示空格(在程序请输出空格,而不是字符’#’,这里只是表示而已。)
【样例说明】
用户首先输入字符串The job requires an agile mind. 程序统计完毕之后按照每行4个统计结果输出,字符串中有5个空格,所以输出为#-5,#表示空格。字符’b’和’T’出现次数同为1,因为输入时’b’先于’T’输入,所以输出时也先打印’b’的统计信息。
实现代码:文章来源:https://www.toymoban.com/news/detail-409992.html
dic = {}
count = 0
s = input()
for i in s:
dic[i] = s.count(i)
list = sorted(dic.items(), key=lambda d: d[1], reverse=True)
for i, j in list:
print(i + "-" + str(j), end=" ")
count += 1
if count % 4 == 0:
print()
运行结果:
文章来源地址https://www.toymoban.com/news/detail-409992.html
到了这里,关于(Python)字符串统计排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!