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中的元类(metaclass)
Feb 14 Python
python中as用法实例分析
Apr 30 Python
python 字典(dict)按键和值排序
Jun 28 Python
pandas中Timestamp类用法详解
Dec 11 Python
详解Python之unittest单元测试代码
Jan 24 Python
Python中的单继承与多继承实例分析
May 10 Python
python2.7实现爬虫网页数据
May 25 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
Python基础学习之时间转换函数用法详解
Jun 18 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
Python使用永中文档转换服务
May 06 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下封装较好的数字分页方法
2010/11/23 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
python解析xml模块封装代码
2014/02/07 Python
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python set常用操作函数集锦
2017/11/15 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
工伤赔偿协议书范本
2014/04/15 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
管理提升方案
2014/06/04 职场文书
维稳工作情况汇报
2014/10/27 职场文书
办公经费申请报告
2015/05/15 职场文书
同意报考公务员证明
2015/06/17 职场文书
2016年元旦主持词
2015/07/06 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
Golang解析JSON对象
2022/04/30 Golang