In Python, is there a good way to interleave two lists of the same length?
Say I'm given [1,2,3]
and [10,20,30]
. I'd like to transform those into [1,10,2,20,3,30]
.
Having posted the question, I've realised that I can simply do the following:
[val for pair in zip(l1, l2) for val in pair]
where l1
and l2
are the two lists.
If there are N lists to interleave, then
lists = [l1, l2, ...]
[val for tup in zip(*lists) for val in tup]