前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python笔记17-字典按value排序

python笔记17-字典按value排序

作者头像
上海-悠悠
发布2018-07-25 15:48:11
1.5K0
发布2018-07-25 15:48:11
举报
文章被收录于专栏:从零开始学自动化测试

前言

面试题:如何统计数组中出现次数最多的数据,按出现次数由大到小排序 这个排序看似简单,涉及到的基础知识点还是很多的,真正写起来并不容易

保存数据

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

代码语言:javascript
复制
a = ["a", "b", "a", "c", "a", "c", "b", "d", "e", "c", "a", "c"]

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

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

代码语言:javascript
复制
# 保存为dict,一一对应
d = {}
for i in duixiang:
    d[i] = a.count(i)

字典按value排序

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

代码语言:javascript
复制
# 对字典按value排序
a = sorted(d.items(), key=lambda x: x[1], reverse=True)
print(a)

参考代码:

代码语言:javascript
复制
# 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)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 保存数据
  • 字典按value排序
  • 参考代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档