[英]Trying to filter with a lambda function inside of a list comprehension
我正在尝试使用列表理解从列表中删除所有偶数索引。 我正在使用 lambda function 过滤偶数索引,为什么它不起作用?
输入:
data = [e for i, e in enumerate(raw_data) if lambda i: True if i % 2 != 0 else False]
Output:
Input In [90]
data = [e for i, e in enumerate(raw_data) if lambda i: True if i % 2 != 0]
^
SyntaxError: invalid syntax
output 返回我由 lambda 定义的语法错误。 是否不能在列表理解中使用 lambda 作为过滤器参数?
编辑 1:我知道没有理由使用 lambda 当我可以将条件直接放入列表理解中时,我只是好奇它为什么不起作用。
编辑 2:删除了围绕列表理解的无用 numpy 代码
编辑 3:从 lambda 中删除了 return 语句
result = [i for i in range(10) if (lambda i: i%2 == 0)(i)]
由于 lambda 是一个匿名的 function,它仍然是一个 function。 您需要将值传递给 lambda。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.