Python: shortest way to interleave items from two lists

Zip and Sum

[*sum(zip(l2,l1),())]

Try it online!

Zips the two lists together then adds all the tuples to make one combined list. The zip only works if the lists are guaranteed to be the same size, otherwise it truncates the longer list.

Added the surrounding [* ] to transform it into a list as FryAmTheEggman suggests.


Slice assignment

c=a*2
c[1::2]=a
c[::2]=b

This is three bytes longer than using Jo King’s solution c=[*sum(zip(b,a),())], but it’s nifty. It might be shorter situationally (I can’t think of where, though).