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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python中最常用的操作列表的几种方法归纳
Apr 24 Python
pymongo给mongodb创建索引的简单实现方法
May 06 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
Python中return self的用法详解
Jul 27 Python
Python中作用域的深入讲解
Dec 10 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
使用python客户端访问impala的操作方式
Mar 28 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
基于selenium及python实现下拉选项定位select
Jul 22 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
zend framework多模块多布局配置
2011/02/26 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
python引用DLL文件的方法
2015/05/11 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
python实现ID3决策树算法
2018/08/29 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python支持多线程的爬虫实例
2019/12/21 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
好习惯伴我成长演讲稿
2014/05/21 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
小学美术教学反思
2016/02/17 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP