You can do it in Python as you have, but it becomes second nature with Haskell (I can't speak to Elm directly). You might not even realize you're doing it.
Add 5 to each num in a list (using a pretend function called `add` in both languages to be fair):
map(functools.partial(add, 5), nums)
map (add 5) nums
Add 5 to each in a list of list of numbers:
map(functools.partial(map, functools.partial(add, 5)), nums)
map (map (add 5)) nums