This should work in any case. Also, the list can be doubled, tripled, etcetera. The order doesn't matter.
In [1]: from itertools import repeat, tee In [2]: l = list(range(10)) In [3]: l Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [4]: it = tee(l, 2) In [5]: doubled = [] In [6]: for i, j in repeat(range(2), len(l)): ...: doubled.extend([next(it[i]), next(it[j])]) ...: In [7]: doubled Out[7]: [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9]