题目
给定一个列表,列表元素仅包含字母,请统计每个字母的出现次数,并按出现次数排序,要求最终返回结果为字典形式。
例如:
给定一个列表:["a", "a", "c", "b", "d", "c", "c", "c", "d", "d"]
返回结果:{"c": 4, "d": 3, "a": 2, "b": 1}
实现思路1
利用 Python 里的计数器 Counter ,其可用于追踪值的出现次数,并返回一个 Counter 类对象,是字典 dict 的子类
利用 Python 里的内置函数 sorted() 并结合匿名函数 lambda 进行排序,设置 reverse=True 表示降序
把结果转换为字典 dict 形式返回
注意:sorted() 返回的结果是一个新的列表list ,这里需要转换为字典格式再返回
代码实现
from collections import Counter
def demo(str_list):
temp = Counter(str_list)
res_list = sorted(temp.items(), key=lambda x: x[1], reverse=True)
res_dict = dict(res_list)
return res_dict
str_list = ["a",