详解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 解析html之BeautifulSoup
Jul 07 Python
python实现猜数字游戏(无重复数字)示例分享
Mar 29 Python
举例讲解Python中装饰器的用法
Apr 27 Python
Python中Django框架下的staticfiles使用简介
May 30 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
对Python Pexpect 模块的使用说明详解
Feb 14 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
Python如何获取文件指定行的内容
May 27 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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
Zerg兵种介绍
2020/03/14 星际争霸
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
解决layui laydate 时间控件一闪而过的问题
2019/09/28 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
Python3读取zip文件信息的方法
2015/05/22 Python
详解Python3的TFTP文件传输
2018/06/26 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
留学推荐信范文
2014/05/10 职场文书
公司感谢信范文
2015/01/22 职场文书
会议欢迎词范文
2015/01/27 职场文书
中秋节祝酒词
2015/08/12 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python