How about a rule?
Lista = {{"a", "b", "a"}, {"n", "g", "r"}, {"d", "fgh", "Df"}};
formattedlist=Lista /. a_String -> Style[a, FontSize -> 10]
----EDIT----
and adding to your comment (and my confusion somewhat), if you want to apply styles to different heads (is that what you want?) you may amend your rules to something a little ugly:
Listb = {{"a", "b", "a", 12}, {"n", "g", "r", π}, {"d", "fgh",
"Df", 0.2341}};
formattedlist = Listb /.{b___, a_Integer, c___} -> {b, Style[a, Red, 33], c}
/.{b___, a_Symbol, c___} -> {b, Style[a, Orange, 21], c}
/.{b___, a_Real, c___} -> {b, Style[a, Brown, 9], c}
/.a_String -> Style[a, 11]
which gives

but I don't really understand if you want to apply Style
to expressions so that they look different in your output stream or so that you use them as, say, a PlotLabel
.
If this is a little confusing, it is worth noting that atoms (symbols, strings etc) with a specific Style
stop being atoms:
LeafCount["a"]
(*Out*) 1
but
LeafCount[Style["a", 12]]
(*Out*) 3
which, can be misleading because, at the end of the day, all you are seeing is a string. In this case though, adding Style
means that you can't "write" on a small, red thing, whether it is a string, symbol or whatever, i.e.
Style[a, Red, 12] = Interpolation[RandomReal[{0, 2}, 10]]
tells you a
is tagged with the tag Style
which is protected.
MapAt
. What you want is mapping onto all elements at the last level. I changed the wording of your question accordingly. $\endgroup$Style
), and also it isn't clear to me that there is an unambiguous concept of an "individual list element" in the case of nested lists. I had hoped my edit would make the essence of the question clearer, but if you disagree then please feel free to change the title to something else you think more appropriate. $\endgroup$