Python中sort和sorted函数代码解析


Posted in Python onJanuary 25, 2018

本文研究的主要是Python中sort和sorted函数的相关内容,具体如下。

一、sort函数

sort函数是序列的内部函数

函数原型:

L.sort(cmp=None, key=None, reverse=False)

函数作用:

它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序

参数说明:

(1) cmp参数

cmp接受一个函数,拿整形举例,形式为:

def f(a,b):
   return a-b

如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

(2) key参数

key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下

def f(a):
   return len(a)

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

(3) reverse参数

接受False 或者True 表示是否逆序

sort举例:

(1)按照元素长度排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f(x):
  return len(x)
sort(key=f)
print L

输出:

[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

(2)按照每个字典元素里面key为1的元素的值排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f2(a,b):
  return a[1]-b[1]
L.sort(cmp=f2)
print L

输出:

[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

二、sorted函数

sorted函数是内建函数,他接受一个序列,返回有序的副本

他与sort的唯一区别就是会返回副本

总结

以上就是本文关于Python sort sorted函数代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中的index()方法使用教程
May 18 Python
Python教程之全局变量用法
Jun 27 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
Python中关键字global和nonlocal的区别详解
Sep 03 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
python logging模块的使用总结
Jul 09 Python
python plotly绘制直方图实例详解
Jul 22 Python
pytorch 共享参数的示例
Aug 17 Python
pymysql的简单封装代码实例
Jan 08 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
python爬虫框架feapde的使用简介
Apr 20 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 #Python
Python微信公众号开发平台
Jan 25 #Python
Python实现PS图像调整黑白效果示例
Jan 25 #Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 #Python
http请求 request失败自动重新尝试代码示例
Jan 25 #Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 #Python
Python使用requests发送POST请求实例代码
Jan 25 #Python
You might like
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python的socket编程入门
2018/01/29 Python
python如何生成网页验证码
2018/07/28 Python
Python中bisect的使用方法
2019/12/31 Python
python logging设置level失败的解决方法
2020/02/19 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
用python实现学生管理系统
2020/07/24 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
python3中确保枚举值代码分析
2020/12/02 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
Android面试题附答案
2014/12/08 面试题
Prototype是怎么扩展DOM的
2014/10/01 面试题
学校党支部公开承诺书
2015/04/30 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
POST提交数据常见的四种方式
2022/01/18 HTML / CSS
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs