How to merge two lists alternatively in Python

4 Answers

0 votes
def MergeAlternatively(lst1, lst2):
    return [sub[element] for element in range(len(lst2))
                      for sub in [lst1, lst2]]

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']

lst = MergeAlternatively(lst1, lst2)

print(lst)




'''
run:

[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']

'''

 



answered Mar 17, 2023 by avibootz
0 votes
def MergeAlternatively(lst1, lst2):
    return [element for pair in zip(lst1, lst2 + [0])
                                 for element in pair]

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']

lst = MergeAlternatively(lst1, lst2)

print(lst)




'''
run:

[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']

'''

 



answered Mar 17, 2023 by avibootz
0 votes
from functools import reduce
import operator

def MergeAlternatively(lst1, lst2):
    return reduce(operator.add, zip(lst1, lst2))

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']

lst = MergeAlternatively(lst1, lst2)

print(lst)




'''
run:

[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']

'''

 



answered Mar 17, 2023 by avibootz
0 votes
import numpy as np

def MergeAlternatively(lst1, lst2):
    return np.array([[i, j] for i, j in zip(lst1, lst2)]).ravel()

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']

lst = MergeAlternatively(lst1, lst2)

print(lst)




'''
run:

[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']

'''

 



answered Mar 17, 2023 by avibootz

Related questions

1 answer 243 views
3 answers 255 views
1 answer 214 views
1 answer 231 views
2 answers 192 views
192 views asked Apr 9, 2019 by avibootz
...