首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python - lambda可以有多个返回吗?

python - lambda可以有多个返回吗?
EN

Stack Overflow用户
提问于 2013-05-21 23:39:58
回答 4查看 33.9K关注 0票数 38

我知道lambda没有返回表达式。正常情况下

代码语言:javascript
复制
def one_return(a):
    #logic is here
    c = a + 1
    return c

可以这样写:

代码语言:javascript
复制
lambda a : a + 1

如何在lambda函数中编写以下代码:

代码语言:javascript
复制
def two_returns(a, b):
    # logic is here
    c = a + 1
    d = b * 1
    return c, d
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-21 23:43:47

是的,这是可能的。因为函数结尾处的表达式如下所示:

代码语言:javascript
复制
return a, b

等同于:

代码语言:javascript
复制
return (a, b)

在这里,你实际上返回了一个值:一个恰好有两个元素的元组。所以让lambda返回一个元组是可以的,因为它是一个单一的值:

代码语言:javascript
复制
lambda a, b: (a, b) # here the return is implicit
票数 50
EN

Stack Overflow用户

发布于 2013-05-21 23:40:55

当然:

代码语言:javascript
复制
lambda a, b: (a + 1, b * 1)
票数 18
EN

Stack Overflow用户

发布于 2013-05-21 23:41:01

下面是什么:

代码语言:javascript
复制
lambda a,b: (a+1,b*1)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16674004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档