python字典统计排序1_python笔记17-字典如何按value排序
前言
面试题:如何统计数组中出现次数最多的数据,按出现次数由大到小排序
这个排序看似简单,涉及到的基础知识点还是很多的,真正写起来并不容易
备注:本篇是以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排序相关推荐
- python 词频统计,分词笔记
Python的中文分词库有很多,常见的有: jieba(结巴分词) THULAC(清华大学自然语言处理与社会人文计算实验室) pkuseg(北京大学语言计算与机器学习研究组) SnowNLP pynl ...
- springmvc学习笔记(17)-上传图片
2019独角兽企业重金招聘Python工程师标准>>> springmvc学习笔记(17)-上传图片 标签: springmvc [TOC] 本文展示如何在springmvc中上传图 ...
- Python的dict字典结构操作方法学习笔记
Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...
- python字典统计_python字典计数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 字典?thcollections.counter 计数器? image.png找 ...
- Python语言学习:利用sorted对字典按照value进行递减排序,输出列表,并给定排名索引,组成新字典输出
Python语言学习:利用sorted对字典按照value进行递减排序,输出列表,并给定排名索引,组成新字典输出 目录 利用sorted对字典按照value进行递增排序,输出列表,并给定排名索引,组成 ...
- python字典数组排序sorted_Python利用sorted进行字典排序
一.排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意 ...
- Python学习笔记之字典(二)
遍历字典:一个Python字典可能包含很多个键值对,在需要获取其数据时,就需要对这个进行遍历,Python支持对字典遍历.字典可用于以各种方式存储信息,其中有多种遍历字典的方式:可遍历字典的所有键值对 ...
- Python学习笔记:字典(dict)
Python学习笔记:字典(dict) 字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(hash map)或关联数组(associate array).它是键值对的集合 ...
- python元组读取到列表_Python 学习笔记(1)Python容器:列表、元组、字典与集合...
Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list() ...
- Python在入门-自学笔记-8字典
Python零基础入门自学笔记 参考教程[Python教程]<零基础入门学习Python>最新版@B站@鱼C-小甲鱼 本文记录的主要是Python中的字典. 映射关系 效率会比列表快 0. ...
最新文章
- RHEL7中防火墙firewalld的配置
- Erlang里实现MapReduce
- Cannot change version of project facet Dynamic Web Module to 3.0.
- bzoj1190 [HNOI2007]梦幻岛宝珠 动态规划
- [windows网络编程]tcp/udp编程初步详解-转
- Hibernate标准查询
- 油猴脚本(实习生趁手的工具)
- JSON和API接口初识
- STM32读写FPGA存储器EPCS器件(EPCS1、EPCS4)
- 【Code】8位编程语言的创始人,你知道几位?
- 关于cmwap和cmnet之间的区别
- CentOS7搭建FLV和RTMP流媒体服务器
- [答疑]为什么要把actor翻译成执行者
- 苹果上传闪退 php,怎样解决iPhone程序闪退问题
- CF1680F Lenient Vertex Cover题解
- 数理统计——描述统计与Python实现
- 英语绕口令(转)[Blog synchronous]
- 使用字符映射完成简单的对称加密
- 枯树洒落的泪花,心却不知飞向何
- springboot+jsp汽车在线销售系统
热门文章
- 阿里云联合信通院发布《基于云计算的数字化业务安全工程要求》
- 人工智能︱腾讯如何利用英特尔至强处理器在游戏内创建购买推荐系统?
- 怎样让vSAN发挥出高性能、低延迟的威力?
- 【优化预测】基于matlab粒子群算法优化SVM回归预测(多输入多输出)【含Matlab源码 1421期】
- 人工智能 企业变革_我们如何利用(人工)情报变革医院的运营管理
- 人工智能+智能运维解决方案_人工智能驱动的解决方案可以提升您的项目管理水平
- 话费充值 php,话费充值示例代码
- 南昌计算机学校哪家最可靠,南昌问题孩子管教学校哪家靠谱
- 给android开发者的rx,给Android开发者的RxJava 详解,解你多年困扰!
- rbw数字信号处理_数字中频概述 - 频谱分析