是否可以仅使用map实现过滤功能?



我想知道是否可以在 Python 中仅使用map函数来实现filter函数。 假设我有一个A = [1,2,3,4,5,6,7,8,9,10]列表,我只想得到偶数。应用filter函数为我提供了一个包含 5 个元素的列表,但无论我想到什么函数map它总是返回 10 个元素。

有什么办法可以做到这一点吗?

请不要建议在map的结果上再次应用filter。 :-(

No.map只会将函数应用于列表的所有元素。因此,结果列表(或生成器(中的元素数将始终与原始列表中相同。

(从技术上讲,您可以将map与使用副作用的函数一起使用,将偶数元素添加到其他列表中并使用该列表作为结果,但这不是map应该使用的方式。

最新更新