详解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中对列表排序实例
Jan 04 Python
Python实现截屏的函数
Jul 25 Python
在Python中移动目录结构的方法
Jan 31 Python
python编写分类决策树的代码
Dec 21 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
python opencv实现图像配准与比较
Feb 09 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获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
php写的AES加密解密类分享
2014/06/20 PHP
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
JS实现简单拖拽效果
2017/06/21 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
小程序绑定用户方案优化小结
2019/05/15 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
python 文件与目录操作
2008/12/24 Python
Python中的localtime()方法使用详解
2015/05/22 Python
python处理数据,存进hive表的方法
2018/07/04 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
蔻驰法国官网:COACH法国
2018/11/14 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
销售找工作求职信
2013/12/20 职场文书
学校读书活动总结
2014/06/30 职场文书
企业整改报告范文
2014/11/08 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android