首页 > 解决方案 > 是否可以仅使用地图实现过滤功能?

问题描述

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

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

请不要建议对filter结果再次申请map。:-)

标签: pythonfilterfunctional-programmingmap-function

解决方案


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

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


推荐阅读