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模拟登录12306的方法
Dec 30 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Python selenium 三种等待方式解读
Sep 15 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
python调用API实现智能回复机器人
Apr 10 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
Python如何实现邮件功能
May 27 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
Django开发中的日志输出的方法
2018/07/02 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
物业保安员岗位职责
2014/03/14 职场文书
餐饮投资计划书
2014/04/25 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
文秘自荐信
2014/06/28 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
老公保证书
2015/01/17 职场文书
2015年复活节活动总结
2015/02/27 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android