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中计算三角函数之cos()方法的使用简介
May 15 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
浅谈flask源码之请求过程
Jul 26 Python
Python切片操作深入详解
Jul 27 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
Python基于scipy实现信号滤波功能
May 08 Python
Python docutils文档编译过程方法解析
Jun 23 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 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/08 日漫
PHP:风雨欲来 路在何方?
2006/10/09 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
两个php日期控制类实例
2014/12/09 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
使用Python对SQLite数据库操作
2017/04/06 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python语言快速上手学习方法
2018/12/14 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
python excel转换csv代码实例
2019/08/26 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
小学岗位竞聘方案
2014/01/22 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
检讨书1000字
2014/10/11 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS