Python sort 函数
1. sort 函数
函数原型:
L.sort(*, key=None, reverse=None)
它把 L
原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序!
参数说明:
argument | description |
---|---|
* | 迭代类型的数据列表 |
key | 函数类型,比较的原则 |
reverse | 为 True 时逆序 |
Both list.sort() and sorted() have a key parameter to specify a function (or other callable) to be called on each list element prior to making comparisons.
2. 排序方法
2.1 自定义数据类型
首先定义一个 Student 类,每一个对象有学号 num
和名字 name
两个属性,对 Student 列表元素排序
class Student:
class Student:def __init__(self, num, name):self.num = numself.name = namedef __str__(self):return f'{self.num} - {self.name}'
List:
students = [Student(5, 'Tom'),Student(2, 'Tony'),Student(6, 'Lucy'),Student(1, 'Jerry')
]
2.2 compare 函数有 1 个参数
key 接受的函数类型要求 函数只有一个参数,默认按返回值的升序对列表元素排序:
cmp2 = lambda stud: stud.num
students.sort(key=cmp2, reverse=False)
for student in students:print(student)
结果如下:
1 - Jerry
2 - Tony
5 - Tom
6 - Lucy
2.3 compare 函数有 2 个参数
当比较函数有 2 个参数时,如:
def mycmp(stud1, stud2):''' return true when num is greater'''return stud1.num - stud2.num
此时需要用到 functools.cmp_to_key()
:
from functools import cmp_to_keycmp1 = lambda stud1, stud2: stud1.num - stud2.num
students.sort(key=cmp_to_key(cmp1))
for student in students:print(student)
结果如下:
1 - Jerry
2 - Tony
5 - Tom
6 - Lucy
3. 拓展
类似的,max
函数也有参数 key:
a = [('x', 5), ('y', 3), ('z', 8)]
print(max(a, key=lambda x: x[-1])) # ('z', 8)
完结
Python sort 函数相关推荐
- python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习
Python语言中有一个定义轻量级规则的lambda函数,其语法格式为: Lambda 参数列表:返回值表达式 简单的例子如:定义func=lambda x,y:x+y,则调用func(10,20)的 ...
- python sort函数时间复杂度_STL用法及其时间复杂度分析
STL是C++语言中一个非常实用的代码库,叫做标准模板库,通常我们使用这个头文件即可导入STL.本文立足与C++,但是python其实也是大同小异. set set正如其名,表示的是一个集合,其分为两 ...
- python sort 函数和sorted函数的简单区别
1. sort函数可以对列表进行排序,并改变原列表的内容 2. sored 函数返回一个新的列表
- python sort函数返回值_如何使用python sort函数?
不知道大家在做项目时候,有没有遇到这个函数,记得小编第一次看到这个函数,一直纳闷这个函数的使用方法,而后查询了下,今日,小编再一次遇到这个函数,于是,就做了一番整理,内容请看下文. 与sort()函数 ...
- python sort函数返回值_python中 sort方法 和sorted函数
sort和sorted在python中常用语列表(或类列表)的排序,但是在python中有所区别. 他们的唯一的共同点恐怕就是都可以对列表排序,区别: 1. sorted是python的内置函数,可以 ...
- python sort函数
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...
- python sort函数key_Python:s.sort([cmp[, key[, reverse]]])
展开全部 s.sort([cmp[, key[, reverse]]]) 意思是sort方法接受三个参636f707932313133353236313431303231363533313333326 ...
- python sort函数排序_Python中排序常用到的sort 、sorted和argsort函数
argsort函数返回的是数组值从小到大的索引值 Examples -------- One dimensional array:一维数组 >>> x = np.array([3, ...
- sort函数pythonreverse_Python基础 7 ---- Python内置sort和sorted函数
1 Python对数据的排序有两种方法,一种是容器内置的sort函数,另外一种利用sorted函数 2 对于sort函数我们不再进行讨论,只要研究一下sorted函数 3 sorted函数的原形sor ...
最新文章
- ICCV2021 Oral SimROD:简单高效的数据增强!华为提出了一种简单的鲁棒目标检测自适应方法...
- Python Importlib模块与__import__详解
- C语言durand kerner算法求近似根roots(附完整源码)
- java嵌入式db_Java DB嵌入式模式
- linux sudo永久免密码,linux 免密码 使用sudo 直接使用root权限执行命令
- storm基础系列之二----zookeeper的作用
- Ado.Net 实体类、数据连接类、数据访问类
- 报告PPT|Python网络程序设计教学要点与案例分享(含音频)
- Python Day25
- 《像计算机科学家一样思考Python(第2版)》——2.7 注释
- 蓝桥杯 ALGO-13 算法训练 拦截导弹 Java版
- Hadoop架构中各个集群在开发中的作用
- linux 7- - watch,free,mpstat,vmstat,iostat,pidstat,df,du
- 2019年年终总结(流水账)
- oracle awr报告提取,Oracle AWR报告提取方法
- KunlunBase 产品使用和评测指南
- 心理学的应用领域有哪些?
- 深入存储驱动:Overlay2
- 怎么查询计算机二级证书快递号,计算机二级office查询成绩后的注意事项证书直邮申请17到到23号...
- macbook重装系统 选择方案_超详细的mac重装系统教程
热门文章
- 分布式多副本一致性协议paxos
- serializearray php,jQuery序列化表单 serialize() serializeArray()
- 2021年python画图方法大全
- 分支语句(if、if-else、if-else if...else、switch)
- springboot+mysql+微信小程序点餐系统-计算机毕业设计源码65933
- 资本狂追手术机器人,康诺思腾是如何打动美团龙珠的?
- bugreport 分析之chkbugreport
- Android应用源码基于vitamio的网络电视直播源码
- 第十五章 数据访问部件的应用及编程(一)
- 【芝麻背调百科】​员工隐瞒婚姻状况入职是否构成劳动法意义上的欺诈?