题目要求:

随机输入一个字符串,统计该字符串中各种字符出现的次数,并将统计结果按照字符出现次数从高到低进行排序,最终打印排序后的信息。每行效果如下:XXX 字符出现次数为: X

代码实现:

mystring = input("请输入一个随机的字符串:")# 获取字符串mydict = {} # 定义一个字典# for 循环方法for i in mystring:mydict[i] = mystring.count(i) # 遍历字符串,将字符串中某字符出现的次数存入字典中【字符作为键,次数作为值】result = sorted(mydict.items(), key=lambda item: item[1], reverse=True)# 根据value降序排序后的键值对# print(result) # result是列表类型index = 0while index < len(result):print(f"'{result[index][0]}'字符出现次数为:{result[index][1]}")# 输出列表中字典的键值index += 1

运行结果:

总结分析:

关于sorted():

result = sorted(字典.items(), key=lambda item: item[1], reverse=True)# 根据value降序排序后的键值对reverse默认为False(升序),True为降序item:item【1】代表按照字典的值进行排序,若为item:item【0】则是按照字典的键按照ASCALL码进行排序