How to map function f to every element
One can also temporarily apply a Listable
function with
Function[x, f[x], Listable][list]
Listability works differently than mapping to level {-1}
when the elements of the list have parts:
Function[x, f[x], Listable][{b, {e, g, {c, a + Exp[d]}}}]
(* {f[b], {f[e], f[g], {f[c], f[a + E^d]}}} *)
Map[f, {b, {e, g, {c, a + Exp[d]}}}, {-1}]
(* {f[b], {f[e], f[g], {f[c], f[a] + f[E]^f[d]}}} *)
you can also give the attribute Listable
to your function
SetAttributes[f, Listable]
and then simply write
f@{{a, b, {c, d}}, {d, {e, g, {c, d}}}}