Is there a simple way to partly merge arrays in python

  • A+

I want to merge two arrays in python in a special way. The entries with an odd index of my output array out shall be the coresponding entries of my first input array in0. The entries with an even index in out shall be the coresponding entries of my second input array in1.

in0, in1 and out are all the same length.


The input arrays

in0 = [0, 1, 2, 3] in1 = [4, 5, 6, 7] 

shall be merge to the output array

out = [0, 5, 2, 7] 

Is there a nicer way than to loop over the whole length of the inputs and fill my out 'by hand'?


You could use a list comprehension and select values from in0 on even indices and in1 on odd indices:

[in0[i] if i % 2 == 0 else in1[i] for i in range(len(in0))] # [0, 5, 2, 7] 


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: