Are the lists always the same length? If so, this will give you a list of tuples:
outcome = zip(coordinates_X, coordinates_Y)
You can then flatten that:
import itertools
outcome = list(itertools.chain.from_iterable(zip(coordinates_X, coordinates_Y)))
For 2.x, itertools
also has izip
available, which builds an iterable yielding tuples. But that's unnecessary for lists this small. On 3.x, zip
always returns an iterable.
If they're not the same length, zip
or itertools.izip
will truncate the outcome to match the shorter list. itertools.izip_longest
can extend a shorter list with a fill value specified in the call, if you need that.