How to zip two differently sized lists and repeating the shorter list in Python

1 Answer

0 votes
from itertools import cycle

lst1 = [1, 2, 3, 4, 5, 6, 7, 8]
lst2 = ['A', 'B', 'C']

lst = list(zip(lst1, cycle(lst2)) if len(lst1) > len(lst2) else zip(cycle(lst1),lst2))

print(lst)
 
 
 
'''
run:
 
[(1, 'A'), (2, 'B'), (3, 'C'), (4, 'A'), (5, 'B'), (6, 'C'), (7, 'A'), (8, 'B')]

'''

 



answered Mar 17, 2023 by avibootz
...