题解 | #字符统计#
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
s=input() dic={} for i in s: dic[i]=0 for i in s: if i in dic.keys(): dic[i]+=1 sort_dic=dict(sorted(dic.items(),key=lambda x:(-x[1],x[0]))) for key in sort_dic.keys(): print(key,end='')
解题思路:统计字符个数,首先将字符及其出现的个数存为字典,然后比较字典中的value的值从大到小,如遇value值相同就按照key的ASCII码来进行排序。第一个for循环初始化字典,第二个for循环将完成计数的工作。排序工作使用了一个lambda匿名函数x,然后按照(-x[1],x[0])来进行返回,-x[1]表示按照值的降序排列,如果value值相同再按照x[0]对应的key来排序。sorted返回的是一个列表转换成字典,然后取key值输出即可