详解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中的with语句与上下文管理器学习总结
Jun 28 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
Python函数参数类型及排序原理总结
Dec 19 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
python实现简单的井字棋
May 26 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
Python 初始化多维数组代码
2008/09/06 Python
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
python基本语法练习实例
2017/09/19 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
员工安全责任书范本
2014/07/24 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
毕业生学校组织意见
2015/06/04 职场文书
2015暑假假期总结
2015/07/13 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书