【发布时间】:2021-01-18 15:42:51
【问题描述】:
例如说我有下面的列表,我想只打印出 #s - 我想使用 lambda。 我的问题是我需要在 if 中有 else 吗?
_l = [1, 2, 3, 4, 5, 6]
_l2 = list(map(lambda x: x if x % 2 == 0 else "", _l))
我不想使用 else ...
【问题讨论】:
-
你为什么要问我们?当你尝试它时发生了什么?如果您不知道您的代码是否有效,那么您还没有 Stack Overflow 问题。
-
我也可以这样做 _l = [1,2,3,4,5,6,7,8,9,10] _l2 = list ( map ( lambda x : x if x%2 == 0 else None, _l)) _l3 = list(filter(None, _l2)) print(_l3)
-
条件表达式 require 一个 else。但听起来您想过滤赔率?因为你不能
filter和map,不管你是使用lambda还是使用条件表达式。函数必须返回something,因此如果您map,您将始终获得与原始列表具有相同数量元素的列表。 -
所以这个问题似乎是关于
map,基本上
标签: python dictionary lambda