首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python lambda,带if但不带else

Python lambda,带if但不带else
EN

Stack Overflow用户
提问于 2012-10-03 21:00:18
回答 2查看 94.4K关注 0票数 50

我正在写一些lambda函数,但是我不能理解这个问题。有没有办法在python中拥有像lambda x: x if (x<3)这样的东西?当lambda a,b: a if (a > b) else b正常工作时。到目前为止,lambda x: x < 3 and x or None似乎是我找到的最接近的。

EN

回答 2

Stack Overflow用户

发布于 2017-01-11 03:17:09

我发现filter提供了我在Python2中想要的东西:

代码语言:javascript
复制
>>> data = [1, 2, 5, 10, -1]
>>> filter(lambda x: x < 3, data)
[1, 2, -1]

2.x3.x的实现是不同的: 2.x提供列表,3.x提供迭代器。在3.x中使用list comprehension可能会使使用更加简洁:

代码语言:javascript
复制
>>> data = [1, 2, 5, 10, -1]
>>> [filter(lambda x: x < 3, data)]
[1, 2, -1]
票数 7
EN

Stack Overflow用户

发布于 2012-10-03 21:04:48

lambda x: x if x < 3 else None出了什么问题

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12709062

复制
相关文章

相似问题

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