当前,我正在创建函数的原始等效项,例如map
,filter
,reduce
等。
通过原始等效项,我的意思是通过循环,条件等语言工具,以最短的方式创建上述功能的等效项。
为了深入了解我要引用的内容,我已经为map
和filter
创建了原始等效项。
地图声明语法:-
zip(function(), sequence)
与MAP
等效:-
[function() for x in sequence]
-------------------------------------------- -------------------------------------------------- --------------------------------------
过滤器声明语法:-
filter(function(), sequence)
与FILTER
等效:-
[x for x in sequence if (condition)]
map
和filter
之间的区别在于,map
具有通用功能,另一方面,filter
具有通用功能包含条件,因此,输出序列的大小可能与filter
-------------------------------------------- -------------------------------------------------- ------------------------------------ *
现在,我无法为reduce
做同样的事情。对于那些不熟悉reduce()
-
reduce(function(), sequence)
函数用于将在其参数中传递的特定函数应用于传递的序列中提到的所有序列元素。与reduce()
和map
返回的序列相反,filter
仅具有一个返回值。
展示reduce()
工作原理的示例:-
reduce(lambda x, y: x*y, [10, 20, 30])
以上声明的输出:-
6000
PS:-我不需要冗长的函数/ for循环,我想要一个等效于一个衬里的东西,就像我为map
和{{ 1}}。