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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
python获取标准北京时间的方法
Mar 24 Python
《与孩子一起学编程》python自测题
May 27 Python
对pandas中Series的map函数详解
Jul 25 Python
Django组件cookie与session的具体使用
Jun 05 Python
简单了解Django ContentType内置组件
Jul 23 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
python Canny边缘检测算法的实现
Apr 24 Python
Python切片列表字符串如何实现切换
Aug 06 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
Python用户自定义异常的实现
Dec 25 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP序列化操作方法分析
2016/09/28 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python切片操作深入详解
2018/07/27 Python
Python API自动化框架总结
2019/11/12 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
浅谈Python __init__.py的作用
2020/10/28 Python
想学画画?python满足你!
2020/12/24 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
《王二小》教学反思
2014/02/27 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
普通党员对照检查材料
2014/08/28 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang