Python编程题18--统计字母出现次数并排序

题目

给定一个列表,列表元素仅包含字母,请统计每个字母的出现次数,并按出现次数排序,要求最终返回结果为字典形式。

例如:

给定一个列表:['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 ,这里需要转换为字典格式再返回

代码实现

复制代码
# coding=utf-8
#__author:chenxiaomeng
#date:2021/11/17

#题目:给定一个列表,列表元素仅包含字母,请统计每个字母的出现次数,并按出现次数排序,要求最终返回结果为字典形式。
#给定一个列表:['a', 'a', 'c', 'b', 'd', 'c', 'c', 'c', 'd', 'd']
#返回结果:{"c": 4, "d": 3, "a": 2, "b": 1}


from collections import Counter
def CountNum(str_list):
    temp=Counter(str_list)
    res_list=sorted(temp.items(),key=lambda x:x[1],reverse=True)
    res_dict=dict(res_list)

    print(res_dict)

if __name__ == '__main__':
    str_list = ["a", "a", "c", "b", "d", "c", "c", "c", "d", "d"]
    CountNum(str_list)
复制代码

 

 

 

实现思路2

  • #实现方法2:首先将list存为set集合,然后计算set中各元素key的出现次数value保存到字典中,最后根据字典dict的value进行排序。 #set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

代码实现

复制代码
#实现方法2:首先将list存为set集合,然后计算set中各元素key的出现次数value保存到字典中,最后根据字典dict的value进行排序。
#set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

from collections import Counter
def CountNum(str_list):
    temp_set=set(str_list)
    print(temp_set)
    temp_dict={item:str_list.count(item) for item in temp_set}
    print(temp_dict)
    res_list=sorted(temp_dict.items(),key=lambda x:x[1],reverse=True)
    res_dict=dict(res_list)
    print(res_dict)

if __name__ == '__main__':
    str_list = ["a", "a", "c", "b", "d", "c", "c", "c", "d", "d"]
    CountNum(str_list)
复制代码

 


 

posted @   陈晓猛  阅读(2063)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示

目录导航