温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何使用Lambda和Map函数

发布时间:2022-03-22 09:27:37 来源:亿速云 阅读:294 作者:小新 栏目:开发技术

小编给大家分享一下python如何使用Lambda和Map函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Lambda 和 Map

Lambda 是一种匿名函数,它看起来可能有一点奇怪,但是一旦你理解了它,那么他就会变得非常直观与强大。

一般而言,Lambda 函数都比较小,它也不需要定义函数名。那么为什么需要匿名函数?简单而言,Lambda 最常执行一些直观的运算,它并不需要标准的函数定义,而且也不需要新的函数名再次调用。

还是拿上面的先平方再加 5 为例,前面我们是定义了一个标准的函数,def stupid_func(x),现在我们可以试试 Lambda 匿名函数:

>>> stupid_func = (lambda x : x ** 2 + 5)
>>> print([stupid_func(1), stupid_func(3), stupid_func(5)])
[6, 14, 30]

那么我们为什么要用上面的表达式?很大一部分原因在于,当我们想执行一些简单运算时,可以不需要定义真实函数就能完成。例如排序列表元素,一种直观的方法可以使用 sorted() 方法:

>>> my_list = [2, 1, 0, -1, -2]
>>> print(sorted(my_list))
[-2, -1, 0, 1, 2]

这只能默认从大到小或从小到大排序,但是借助 Lambda 表达式,我们可以实现更自由的排序标准。如下所示我们希望根据最小的平方数对列表进行排序,其可以使用 Lambda 函数定义键,从而告诉 sorted() 方法该怎样排序。

>>> print(sorted(my_list, key = lambda x : x ** 2))
[0, -1, 1, -2, 2]

Map 是一个简单的函数,它可以将某个函数应用到其它一些序列元素,例如列表。如果我们有两个列表,我们希望将这两个列表对应的元素相乘,那么使用 lambda 函数和 map 可以快速实现这一功能:

>>> print(list(map(lambda x, y : x * y, [1, 2, 3], [4, 5, 6])))
[4, 10, 18]

上面的代码非常优雅,如果不用它们两者,那么一般的表达需要写成这样:

>>> x, y = [1, 2, 3], [4, 5, 6]
>>> z = []
>>> for i in range(len(x)):
>>>     z.append(x[i] * y[i])
>>> print(z)
[4, 10, 18]

以上是“python如何使用Lambda和Map函数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI