详解python中的lambda与sorted函数


Posted in Python onSeptember 04, 2020

lambda表达式

python中形如:

lambda parameters: expression

称为lambda表达式,用于创建匿名函数,该表达式会产生一个函数对象。

该对象的行为类似于用以下方式定义的函数:

def <lambda>(parameters):
	return expression

python中的lambda函数可以接受任意数量的参数,但只能有一个表达式。也就是说,lambda表达式适用于表示内部仅包含1行表达式的函数。那么lambda表达式的优势就很明显了:

  1. 使用lambda表达式可以省去单行函数的定义过程,使代码更加简洁;
  2. 适用于不需要多次复用的函数

例:

y = lambda x: x*x
print(y(3))
> 9
fx = lambda x, y, z: x+y+z
print(fx(3, 4, 5))
> 12

sorted()

python3.x中sorted函数:

sorted(iterable, *, key=None, reverse=False)

sorted函数会根据iterable中的项返回一个新的已排序列表。

其中keyreverse是两个可选参数,它们都必须指定为关键字参数;

key:指定带有单个参数的函数,用于从iterable的每个元素中提取用于比较的键,默认为None,即直接比较元素;

reverse:为一个布尔值,用来指定排序规则,默认为False(升序)。

python2的sorted函数中还有一个参数cmp,python3的sorted中已经没有这个参数了。

与list.sort()方法不同的是,sorted()是有返回值的,而list.sort()的返回值为None;并且list.sort()只能对list进行排序,而sorted()可以接收任何的iterable

例:

# list
foo = [5, 7, 2, 9, 1]
bzz = sorted(foo)
print(bzz)
# > [1, 2, 5, 7, 9]

print(sorted(foo))
# > [1, 2, 5, 7, 9]

print(sorted(foo, reverse = True))
# > [9, 7, 5, 2, 1]

print(sorted(foo, key = lambda x: x*-1))
# > [9, 7, 5, 2, 1]

# dict
bar = {'java': 14, 'c': 16, 'python': 9, 'cpp': 6, 'csharp': 4}
print(sorted(bar))
# > ['c', 'cpp', 'csharp', 'java', 'python']

print(sorted(bar.items(), key = lambda kv: kv[1], reverse = True))
# > [('c', 16), ('java', 14), ('python', 9), ('cpp', 6), ('csharp', 4)]

以上就是详解python中的lambda与sorted函数的详细内容,更多关于python lambda与sorted函数的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详解Python中expandtabs()方法的使用
May 18 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
PyQt5实现简单数据标注工具
Mar 18 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
python安装dlib库报错问题及解决方法
Mar 16 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
如何利用Python动态模拟太阳系运转
Sep 04 #Python
python装饰器三种装饰模式的简单分析
Sep 04 #Python
Django如何实现密码错误报错提醒
Sep 04 #Python
如何使用python socket模块实现简单的文件下载
Sep 04 #Python
python 监控logcat关键字功能
Sep 04 #Python
如何将json数据转换为python数据
Sep 04 #Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 #Python
You might like
PHP 第二节 数据类型之数组
2012/04/28 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php中{}大括号是什么意思
2013/12/01 PHP
php获取apk包信息的方法
2014/08/15 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
PHP CURL使用详解
2019/03/21 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
告诉大家什么是JSON
2008/06/10 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
js数组的操作详解
2013/03/27 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[原创]pip和pygal的安装实例教程
2017/12/07 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python处理大日志文件
2019/07/23 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python实现名片管理器的示例代码
2019/12/17 Python
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
幼儿园母亲节活动方案
2014/03/10 职场文书
儿童生日会策划方案
2014/05/15 职场文书
室内设计专业自荐信
2014/05/31 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
质量承诺书格式范文
2015/04/28 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python