return [item[1] for item in sorted(IT.chain.from_iterable(zip(IT.count(
    start=1.0 / (len(seq) + 1), step=1.0 / (len(seq) + 1)), seq) for seq in
    iterables))]
iterables = [['X'] * 2, list(range(1, 11)), ['a'] * 3]
print(evenly_spaced(*iterables))
Как элегантно чередовать два списка разной длины в python?