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之再深点,更懂list
Sep 20 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
python自定义异常实例详解
Jul 11 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
Django中使用第三方登录的示例代码
Aug 20 Python
Python实现打砖块小游戏代码实例
May 18 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Python中的self用法详解
Aug 06 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
python实现udp聊天窗口
Mar 31 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python实现学生管理系统开发
Jul 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
各种战术和打法的原创者
2020/03/04 星际争霸
PHP的Yii框架入门使用教程
2016/02/15 PHP
php unlink()函数使用教程
2018/07/12 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
基于vue2.0实现简单轮播图
2017/11/27 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
python 实现简单的FTP程序
2019/12/27 Python
使用Django清空数据库并重新生成
2020/04/03 Python
惠普香港官方商店:HP香港
2019/04/30 全球购物
护理个人求职信范文
2014/01/08 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
电焊工岗位职责
2014/03/06 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
国庆庆典邀请函
2015/02/02 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
一行Python命令实现批量加水印
2022/04/07 Python
java实现web实时消息推送的七种方案
2022/07/23 Java/Android