Python常见排序操作示例【字典、列表、指定元素等】


Posted in Python onAugust 15, 2018

本文实例讲述了Python常见排序操作。分享给大家供大家参考,具体如下:

字典排序

  • 按value排序
d1 = {"name":"python","bank":"icbc","country":china}
# reverse是否倒序,x[1]代表value,x[0]为key
d1 = sorted(d1.items(),lambda x: x[1],reverse=True)
  • 按key排序
d1 = {"name":"python","bank":"icbc","country":china}
d1 = sorted(d1.items())

列表排序

  • 不去重排序
l = [3,2,4,5]
l = sorted(l)  # 升序
# l = sorted(l,reverse=True)  # 降序
  • 去重排序
l = [3,2,3,5,1]
l = set(l)   # 使用set集合去重
l = list(l)   #
l = sorted(l)   # 排序

字典列表排序

# 以age升序排序
L = [
  {"name":"python","age":12},
  {"name":"ghj","age":10},
  {"name":"java","age":17}
]
L = sorted(L,key=lambda x: x["age"])

根据指定列表的元素顺序进行排序

用途:对于取出MySQL与MongoDB的数据时,我们常常需要对数据进行位置更换顺序,此时此种排序就能很好的解决我们的问题,对于下面列子中的sortList的数据我们可以使用Redis进行存储

# 指定列表,假设存储的是curList中的ID列表
sortList = ["4","3","5","2","1"]
# 当前列表
curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}]
# 根据指定列表中的ID顺序,对当前列表进行排序
curList = sorted(curList,key = lambda item:sortList.index(item["id"]))
print(curList)
# [{"id":"4","province":"湖北"},{"id":"3","province":"湖南"},{"id":"5","province":"江西"},{"id":"2","province":"河北"},{"id":"1","province":"河南"}]
Python 相关文章推荐
Python 元类使用说明
Dec 18 Python
Python实现配置文件备份的方法
Jul 30 Python
python万年历实现代码 含运行结果
May 20 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
Python3 Random模块代码详解
Dec 04 Python
《与孩子一起学编程》python自测题
May 27 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
python+tkinter实现学生管理系统
Aug 20 Python
python如何编写win程序
Jun 08 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
Python实现自动装机功能案例分析
Oct 22 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 #Python
详解Python中的type和object
Aug 15 #Python
python 通过 socket 发送文件的实例代码
Aug 14 #Python
Python 打印中文字符的三种方法
Aug 14 #Python
django如何连接已存在数据的数据库
Aug 14 #Python
Python requests库用法实例详解
Aug 14 #Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 #Python
You might like
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP5 字符串处理函数大全
2010/03/23 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
python-opencv颜色提取分割方法
2018/12/08 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
爱情寄语大全
2014/04/09 职场文书
在校实习生求职信
2014/06/18 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
三好学生评语大全
2014/12/29 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
物流业务员岗位职责
2015/04/03 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
暂住证明怎么写
2015/06/19 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL