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实现读取txt文件并画三维图简单代码示例
Dec 09 Python
matplotlib中legend位置调整解析
Dec 19 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python制作mysql数据迁移脚本
Jan 01 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
python多线程与多进程及其区别详解
Aug 08 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Python3.9新特性详解
Oct 10 Python
matplotlib更改窗口图标的方法示例
Feb 03 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中读写文件实现代码
2011/10/20 PHP
Js中sort()方法的用法
2006/11/04 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
谈谈如何手动释放Python的内存
2016/12/17 Python
python将unicode转为str的方法
2017/06/21 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
详解Python循环作用域与闭包
2019/03/21 Python
Python当中的array数组对象实例详解
2019/06/12 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
新西兰优惠网站:Treat Me
2019/07/04 全球购物
数据库面试要点基本概念
2013/10/31 面试题
自主招生自荐信范文
2013/12/04 职场文书
致标枪运动员广播稿
2014/02/06 职场文书
学生自我评语
2015/01/04 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
python实现三次密码验证的示例
2021/04/29 Python
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android