logoalt Hacker News

ingonealan3today at 4:54 AM3 repliesview on HN

Why? It does, after all, reduce a collection to a single value.


Replies

ketzutoday at 7:05 AM

The resulting value can be anything you want. You can turn a list into a tree, or another list.

Bad example:

    reduce(lambda x,y: x+x.extend([y+2,y*2,y**2]), [1,2,3,4], [])
Reduces the list to another list three times as long.

It's a reduction in the sense of a transformation (also often seen in complexity theory), not in the "this makes this smaller" everyday usage that I think about first.

karmakurtisaanitoday at 6:09 AM

I suppose it's just so ... reductive, you know?