编写一个 Python lambda 函数,它接受一个名为 my_list 的列表,并返回一个仅包含相同顺序的偶数的列表。
我的解决方案:
f = list(filter(lambda x: (x % 2 == 0), my_list))
print(f)
我遇到了问题,因为我正在网上做作业问题,它运行了各种测试用例,并且它说 my_list 未定义。我明白为什么会这样,因为它不是......但问题似乎是在寻找一个广泛的功能,我不知道在这种情况下该怎么做。
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/