Python:使用 lambda 过滤列表

标签 python list lambda filter

编写一个 Python lambda 函数,它接受一个名为 my_list 的列表,并返回一个仅包含相同顺序的偶数的列表。

我的解决方案:

f = list(filter(lambda x: (x % 2 == 0), my_list))
print(f)

我遇到了问题,因为我正在网上做作业问题,它运行了各种测试用例,并且它说 my_list 未定义。我明白为什么会这样,因为它不是......但问题似乎是在寻找一个广泛的功能,我不知道在这种情况下该怎么做。

2 个问题:

  1. 我的解决方案看起来正确吗?
  2. 如果是这样,我该如何定制,以便作业能够接受各种输入?

最佳答案

它看起来不正确,因为 f 不是 lambda 函数,而是一个 list。 好的,它使用 lambda,但它不是 lambda

您可能需要编写如下内容:

f = lambda my_list: list(filter(lambda x: (x % 2 == 0), my_list))

或类似的。

例如:

f = lambda my_list: [x for x in my_list if x % 2 == 0]

也应该满足要求。


当然现在print(f)将“打印函数”。

关于Python:使用 lambda 过滤列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61017327/

相关文章:

python - 返回超过 2 个并排匹配的数字的匹配项

python - 如何生成这个特定的列表列表

Ruby 以编程方式生成 lambda

python - 与 zip(*[iter(s)]*n) 相反

python - 在 Pandas 中装箱和转换

python - 单独线程上的扭曲 react 器调用

python - 如何在 python 中使用列表理解修改列表列表中的特定项目

haskell - 这个组合器是做什么的 : s (s k)

c# - 记录从捕获异常的方法外部捕获的异常

python - Keras ValueError : Shapes (32, 2) 和 (32, 4) 不兼容