前言

面试题:如何统计数组中出现次数最多的数据,按出现次数由大到小排序

这个排序看似简单,涉及到的基础知识点还是很多的,真正写起来并不容易

备注:本篇是以python3.6讲解的,python2会多一个cmp参数,cmp函数在python3上已经丢弃了

cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

保存数据

1.首先应该提出队列里面有多少个数据,做去重处理,去重最快的办法计算用到set集合了

a = ["a", "b", "a", "c", "a", "c", "b", "d", "e", "c", "a", "c"]

# set集合去重

duixiang = set(a) # 先去重,取出计数对象

print(duixiang)

2.然后计算每个对象再list里面出现的次数,可以保存为字典格式,一一对应

# 保存为dict,一一对应

d = {}

for i in duixiang:

d[i] = a.count(i)

字典按value排序

1.保存为字典后,按字典的value值大小排序,这个才是本题的难点,由于dict是无序的,所以只能用list去排序,把dict的key和value保存为tuplue对象

# 对字典按value排序

a = sorted(d.items(), key=lambda x: x[1], reverse=True)

print(a)

参考代码:

# coding:utf-8

# 作者:上海-悠悠

a = ["a", "b", "a", "c", "a", "c", "b", "d", "e", "c", "a", "c"]

# set集合去重

duixiang = set(a) # 先去重,取出计数对象

# 保存为dict,一一对应

d = {}

for i in duixiang:

d[i] = a.count(i)

# 对字典按value排序

a = sorted(d.items(), key=lambda x: x[1], reverse=True)

print(a)

python自动化交流 QQ群:779429633

python字典统计排序1_python笔记17-字典如何按value排序相关推荐

  1. python 词频统计,分词笔记

    Python的中文分词库有很多,常见的有: jieba(结巴分词) THULAC(清华大学自然语言处理与社会人文计算实验室) pkuseg(北京大学语言计算与机器学习研究组) SnowNLP pynl ...

  2. springmvc学习笔记(17)-上传图片

    2019独角兽企业重金招聘Python工程师标准>>> springmvc学习笔记(17)-上传图片 标签: springmvc [TOC] 本文展示如何在springmvc中上传图 ...

  3. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  4. python字典统计_python字典计数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 字典?thcollections.counter 计数器? image.png找 ...

  5. Python语言学习:利用sorted对字典按照value进行递减排序,输出列表,并给定排名索引,组成新字典输出

    Python语言学习:利用sorted对字典按照value进行递减排序,输出列表,并给定排名索引,组成新字典输出 目录 利用sorted对字典按照value进行递增排序,输出列表,并给定排名索引,组成 ...

  6. python字典数组排序sorted_Python利用sorted进行字典排序

    一.排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意 ...

  7. Python学习笔记之字典(二)

    遍历字典:一个Python字典可能包含很多个键值对,在需要获取其数据时,就需要对这个进行遍历,Python支持对字典遍历.字典可用于以各种方式存储信息,其中有多种遍历字典的方式:可遍历字典的所有键值对 ...

  8. Python学习笔记:字典(dict)

    Python学习笔记:字典(dict) 字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(hash map)或关联数组(associate array).它是键值对的集合 ...

  9. python元组读取到列表_Python 学习笔记(1)Python容器:列表、元组、字典与集合...

    Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list() ...

  10. Python在入门-自学笔记-8字典

    Python零基础入门自学笔记 参考教程[Python教程]<零基础入门学习Python>最新版@B站@鱼C-小甲鱼 本文记录的主要是Python中的字典. 映射关系 效率会比列表快 0. ...

最新文章

  1. RHEL7中防火墙firewalld的配置
  2. Erlang里实现MapReduce
  3. Cannot change version of project facet Dynamic Web Module to 3.0.
  4. bzoj1190 [HNOI2007]梦幻岛宝珠 动态规划
  5. [windows网络编程]tcp/udp编程初步详解-转
  6. Hibernate标准查询
  7. 油猴脚本(实习生趁手的工具)
  8. JSON和API接口初识
  9. STM32读写FPGA存储器EPCS器件(EPCS1、EPCS4)
  10. 【Code】8位编程语言的创始人,你知道几位?
  11. 关于cmwap和cmnet之间的区别
  12. CentOS7搭建FLV和RTMP流媒体服务器
  13. [答疑]为什么要把actor翻译成执行者
  14. 苹果上传闪退 php,怎样解决iPhone程序闪退问题
  15. CF1680F Lenient Vertex Cover题解
  16. 数理统计——描述统计与Python实现
  17. 英语绕口令(转)[Blog synchronous]
  18. 使用字符映射完成简单的对称加密
  19. 枯树洒落的泪花,心却不知飞向何
  20. springboot+jsp汽车在线销售系统

热门文章

  1. 阿里云联合信通院发布《基于云计算的数字化业务安全工程要求》
  2. 人工智能︱腾讯如何利用英特尔至强处理器在游戏内创建购买推荐系统?
  3. 怎样让vSAN发挥出高性能、低延迟的威力?
  4. 【优化预测】基于matlab粒子群算法优化SVM回归预测(多输入多输出)【含Matlab源码 1421期】
  5. 人工智能 企业变革_我们如何利用(人工)情报变革医院的运营管理
  6. 人工智能+智能运维解决方案_人工智能驱动的解决方案可以提升您的项目管理水平
  7. 话费充值 php,话费充值示例代码
  8. 南昌计算机学校哪家最可靠,南昌问题孩子管教学校哪家靠谱
  9. 给android开发者的rx,给Android开发者的RxJava 详解,解你多年困扰!
  10. rbw数字信号处理_数字中频概述 - 频谱分析