我正在写一些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
似乎是我找到的最接近的。
发布于 2017-01-11 03:17:09
我发现filter
提供了我在Python2中想要的东西:
>>> data = [1, 2, 5, 10, -1]
>>> filter(lambda x: x < 3, data)
[1, 2, -1]
2.x和3.x的实现是不同的: 2.x提供列表,3.x提供迭代器。在3.x中使用list comprehension可能会使使用更加简洁:
>>> data = [1, 2, 5, 10, -1]
>>> [filter(lambda x: x < 3, data)]
[1, 2, -1]
发布于 2012-10-03 21:04:48
lambda x: x if x < 3 else None
出了什么问题
https://stackoverflow.com/questions/12709062
复制相似问题