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中的匿名函数使用简介
Apr 27 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
python3学生名片管理v2.0版
Nov 29 Python
Django model反向关联名称的方法
Dec 15 Python
python实现转圈打印矩阵
Mar 02 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
tensorflow 模型权重导出实例
Jan 24 Python
Python实现CAN报文转换工具教程
May 05 Python
Python 解决相对路径问题:"No such file or directory"
Jun 05 Python
python实现启动一个外部程序,并且不阻塞当前进程
Dec 05 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
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
python操作sqlite的CRUD实例分析
2015/05/08 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
通信工程毕业生求职信
2013/11/16 职场文书
致全体运动员广播稿
2014/02/01 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
质量承诺书范文
2014/03/27 职场文书
庆元旦演讲稿
2014/09/15 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
mysql全面解析json/数组
2022/07/07 MySQL