Comment by mamcx

12 hours ago

Also reduce is a weird name.

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

  • 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.