Generally, I would look to use str.join() instead of looping through individual elements, e.g.:
for i in x: print(i, end=' ')
Is nearly equivalent to (ignoring the spurious space at the end for the above):
print(' '.join(x))
But you have a small wrinkle in that it also surrounds the '\n' with spaces so you want to replace ' \n ' with '\n', so:
In []: print(' '.join(x).replace(' \n ', '\n')) Out[]: a b c a1 b1 c1
Or you can get a little over engineered and consider this a problem of splitting the list on a value (in this case '\n') and then printing out the groups:
In []: import itertools as it print('\n'.join(' '.join(g) for k, g in it.groupby(x, lambda a: a == '\n') if !k)) Out[]: a b c a1 b1 c1
iis\nbefore printing and useend = ""if so.