列表排序方法sort()的key参数取值,以及lambda匿名函数
1、sort()方法的key参数
li = [[1, 7], [1, 5], [2, 4], [1, 1]]
li.sort()
print(li)
#[[1, 1], [1, 5], [1, 7], [2, 4]] 默认按照每个元素的第0维排序 再按照1维排序,升序def fun(li): #返回列表的第二位数return li[1]
#这时将函数fun传递给参数key 得出结果
li.sort(key=fun)
print(li)
# [[1, 1], [2, 4], [1, 5], [1, 7]]
也就是说,key的实际参数是一个函数,那么我们就想到了lambda匿名函数,也可以像上例一样是提前定义好的函数,并且函数的返回值是可以被sort直接排序的,然后sort按照这个返回值进行排序。
借助lambda匿名函数,可以写成
li.sort(key = lambda x: x[1])
#[[1, 1], [2, 4], [1, 5], [1, 7]]
2、lambda匿名函数
特点:
lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字。
lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。
lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明。
1、类似普通函数的用法:
"""普通函数"""
def test():return "hello"
print(test)
#<function test at 0x0000013D936D7E50>
print(test())
#hello"""lambda的朴素用法"""
ww = lambda :"hello"
print(ww)
#<function <lambda> at 0x0000013D936F8040>
print(ww())
#hello #这种把lambda赋值给一个变量的用法和直接def一个函数没有社么区别"""lambda的巧妙用法"""
#一般就是作为处理函数类型的参数,例如上面的sort方法的key参数
列表排序方法sort()的key参数取值,以及lambda匿名函数相关推荐
- python 列表排序方法sort、sorted技巧篇
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...
- python中sorted函数的作用_Python中排序方法sort、函数sorted的key参数的作用分析
从Python2.4开始,list.sort方法 和 sorted方法 都增加了一个 'key' 参数用来在进行比较之前指定每个列表元素上要调用的函数,将函数的返回值作为比较的依据. 那么怎么使用这个 ...
- [转载] Python列表排序 list.sort方法和内置函数sorted
参考链接: Python中的函数 Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时 ...
- Python列表排序 list.sort方法和内置函数sorted
Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时候就可以使用list.sort方法 ...
- Python 列表排序方法reverse、sort、sorted详解
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python list map成员排序_python的map关于Python列表排序方法reverse、sort、sorted详细说明...
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python列表反向排序_Python 列表排序方法reverse、sort、sorted详解
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python中的排序方法都有哪些_Python中的排序方法sort(),sorted(),argsort()等
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...
- Java中url传递中文参数取值乱码的解决方法
Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...
最新文章
- Python 多进程开发与多线程开发
- 28 岁退休程序员自述:不是富二代,行政专业出身,非典型程序员
- adb server version (41) doesn‘t match this client (39); killing
- Python-Jenkins助力传统发布流程
- linux串口传文件除了rz,使用sz/rz基于串口传输文件
- c++ list 修改_C/C++编程笔记:数据结构系列——顺序表的实现,内含源码
- 带桭字的名字_男孩带官运大气的名字有气魄有能力-可爱点
- c语言,期末复习之求多项式分式数列 1+1/2+2/3+3/5 ...........前n项和
- LINUX文件的压缩与打包
- 量化投资_波动和趋势能量比(传统盘整和趋势的量化表示)
- 编写 Window 服务程序
- 在Linux环境下安装JDK+JBoss
- 苹果开发者账号申请教程
- 幻灯片相册制作PhotoStage
- phpmywind调用方法大全
- VS中SVN的简介、安装和使用(安装+汉化+使用)
- 蝶衣王究竟怎么样?来和大家聊一聊
- Windows11不显示WiFi图标
- k-近邻算法实现手写数字识别系统
- 结合帧差法与窗口搜索的车道线跟踪方法——第一篇处女座