python lambda拉姆达表达式「建议收藏」

python lambda拉姆达表达式「建议收藏」(lambdax:x+1)(50)51addone=lambdax:x+1addone(50)51sum=lambdax,y:x+ysum(5,9)14

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

>>> lambda x: x + 1
<function <lambda> at 0x000001FC51317840>

看出来,就是一个函数,也是一个表达式。
Because a lambda function is an expression, it can be named. Therefore you could write the previous code as follows:

>>> addone= lambda x:x+1
>>> addone(50)
51

>>> (lambda x:x+1)(50)
51

带2个参数的lambda expression:

>>> sum = lambda x,y :x+y
>>> sum(5,10)
15
>>> 

MAP 是什么 ,WTF is MAP?
map(function, iterable, …)
Return an iterator that applies function to every item of iterable, yielding the results.意思就是把这个函数呢应用到每个iterable 的items上。
看下面的例子

def calculateSquare(n):
  return n*n

numbers = (1, 2, 3, 4)
result = map(calculateSquare, numbers)
print(result)
<map object at 0x000001FC51314DD8>

converting map object to set:

numbersSquare = set(result)
print(numbersSquare)
{16, 1, 4, 9}  从结果可见,就是把calculateSquare函数,应用到了每个numbers上。

既然是把函数应用的每个iterable上,自然会想起我们的lambda函数 :

numbers = (1, 2, 3, 4)
result = map(lambda x: x*x, numbers)
print(result)
<map object at 0x00000181A0A280F0>

# converting map object to set
numbersSquare = set(result)
print(numbersSquare)
<map 0x7fafc21ccb00>
{16, 1, 4, 9}

**

Use of lambda() with filter()

**

The filter() function in Python takes in a function and a list as arguments. This offers an elegant way to filter out all the elements of a sequence “sequence”, for which the function returns True. Here is a small program that returns the odd numbers from an input list:

>>> li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]
>>> final_list = list(filter(lambda x: (x%2 != 0) , li))
>>> print(final_list)
[5, 7, 97, 77, 23, 73, 61]
>>> 

Use of lambda() with reduce()

The reduce() function in Python takes in a function and a list as argument. The function is called with a lambda function and a list and a new reduced result is returned. This performs a repetitive operation over the pairs of the list. This is a part of functools module. Example:
注意,reduce已经被搬到了functools
https://docs.python.org/3/library/functools.html#functools.reduce

>>> from functools import reduce
>>> li = [5, 8, 10, 20, 50, 100]
>>> sum = reduce((lambda x, y: x + y), li)
>>> 
>>> sum
193
>>> 

Here the results of previous two elements are added to the next element and this goes on till the end of the list like (((((5+8)+10)+20)+50)+100).

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191880.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VLAN的作用:_vlan是什么

    VLAN的作用:_vlan是什么1.什么是VLAN:VLAN就是虚拟局域网,逻辑上将一个物理局域网划分为多个虚拟的局域。2.vlan的优点:1.将不同设备加入不同VLAN可以有效的减少广播风暴的危害。2.vlan可以将处于不同位置的物理设备逻辑的划分到同一工作组中,便于管理员管理。3.不同VLAN之间不能直接通信,隔离了流量,对用户更安全。…

    2022年8月10日
    3
  • Springboot文件上传_maven上传jar包到远程仓库

    Springboot文件上传_maven上传jar包到远程仓库springboot文件上传机制:1.访问路径2. 上传完成后返回访问文件地址3. 我们只需要访问返回的地址就可以访问到图片4. yaml配置文件(localpath是实际存储的地址)5. 添加配置类,进行访问地址和存储地址映射 @Value(“${file.upload.suffixPath}”) private String uploadSuffixPath; @Value(“${file.upload.localPath}”) private Strin

    2022年8月8日
    2
  • 数学四大思想八大方法_数学八种思维方法

    数学八种思维方法2020-03-1916:00:03文/董玉莹数学八种思维方法:代数思想、数形结合、转化思想、对应思想方法、假设思想方法、比较思想方法、符号化思想方法、极限思想方法。代数思想这是基本的数学思想之一,小学阶段的设未知数x,初中阶段的一系列的用字母代表数,这都是代数思想,也是代数这门学科最基础的根!数形结合是数学中最重要的,也是最基本的思想方法之一,是解决许多数学问题的有效思想。“…

    2022年4月8日
    194
  • 常见免费API接口[通俗易懂]

    常见免费API接口[通俗易懂]https://www.apishop.net/#/api/detail/?productID=215

    2022年8月3日
    2
  • DropDownList1 各种属性

    DropDownList1 各种属性一些常用的属性:DataMember当数据源包含多个不同的数据项列表时,获取或设置数据绑定控件绑定到的数据列表的名称。(从DataBoundControl继承。)DataSource获取或设置对象,数据绑定控件从该对象中检索其数据项列表。(从BaseDataBoundControl继承。) DataSourceID获取或设置控件的ID,数据绑定控件从该控件中检索

    2022年10月16日
    0
  • 三星galaxy S4快捷功能

    三星galaxy S4快捷功能

    2021年12月15日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号