|
|
|
|
|
by ajuc
1835 days ago
|
|
Technically you can implement map as reduce ;) But yes - for me (defn factorial [n]
(reduce * (range 1 (inc n))))
is slightly more readable than def factorial(n):
result = 1
for i in range(2,n+1):
result *= i
return result
I mean in this case the name kinda makes it obvious anyway :)If the operation is conceptually accumulating something over the whole collection and if it's idiomatic in the language I'm using - I will use reduce. Same with map-y and filter-y operations. But if I have to do some mental gymnastics to make the operation fit reduce - for loop it is. Or generator expression in case of python. |
|