data = {{1, a, x, "one"}, {2, b, y, "two"}, {3, c, z, "three"}}
I want to apply a list of four functions
{f, g, h, m}
one for each element of these nested lists respectively. One solution I have come up with is the following:
MapAt[m,
MapAt[h,
MapAt[g,
MapAt[f, data, {All, 1}], {All, 2}], {All, 3}], {All, 4}]
{{f[1], g[a], h[x], m["one"]}, {f[2], g[b], h[y], m["two"]}, {f[3], g[c], h[z], m["three"]}}
But I do not consider this an elegant solution because I cannot find a way to escape from the MapAt
nested repetition. Could you possibly show me the way to generalize the problem and/or suggest a different answer?