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 相关文章推荐
Python3 正在毁灭 Python的原因分析
Nov 28 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
Python中optparser库用法实例详解
Jan 26 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
Python实现FM算法解析
Jun 18 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
Python shelve模块实现解析
Aug 28 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
Python实现AI自动抠图实例解析
Mar 05 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
python基础之类方法和静态方法
Oct 24 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
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
JSON 学习之JSON in JavaScript详细使用说明
2010/02/23 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
python实现2048小游戏
2015/03/30 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
python em算法的实现
2020/10/03 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
大学生的网络创业计划书
2013/12/26 职场文书
便利店促销方案
2014/02/20 职场文书
安全生产目标责任书
2014/04/14 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
企业员工辞职信范文
2015/05/12 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
Consul在linux环境的集群部署
2022/04/08 Servers