A common speedup for string concatenations is changing something like
s = ""
for x in list:
s += some_function(x)
to
slist = [some_function(elt) for elt in somelist]
s = "".join(slist)
However, how could this apply if your 'for' was doubly nested? For example...
s = ""
for x in list:
for y in x:
s += some_function(y)