题目描述:
给出一个只包含字母的字符串,不包含空格,统计字符串中各个子字母(区分大小写)出现的次数。
按照字母出现次数从大到小的顺序输出各个字母及其出现次数,如果次数相同,按照自然顺序排序,且小写字母在大写字母之前。
输入描述:
输入一行仅包含字母的字符串
输出描述:
按照字母出现次数从大到小的顺序输出各个字母和字母次数
用英文分号分割,注意末尾的分号
字母和次数中间用英文冒号分隔
示例:
1.输入:
xyxyXX
输出:x:2;y:2;X:2;
说明:
每个字符出现的次数为2 故x排在y之前,而小写字母x在大写X之前
2.输入:
abababb
输出:b:4;a:3
说明:
b的出现个数比a多 故排在a前
#解题想法:用字典统计计数,然后sorted()对d.values排序,按格式输出结果
#测试用例
#""
#abababb
#xyxyXX
while 1:
try:
s="abababb"
d={}
for i in s:
if i in d.keys():
d[i]+=1
else:
d[i]=1
l=sorted(d.items(),key=lambda x:x[1],reverse=True)
res=[]
for i in l:
res.append(f"{i[0]}:{i[1]}")
print(",".join(res))
break
except Exception as e:
print("")
break