Repeat list to max number of elements
python
Solution
I'd probably use `iterools.cycle` and `itertools.islice`:
>>> from itertools import cycle, islice
>>> lst = [1, 2, 3]
>>> list(islice(cycle(lst), 7))
[1, 2, 3, 1, 2, 3, 1]
Problem
What is the most efficient method to repeat a list up to a max element length? To take this: ``` lst = ['one', 'two', 'three'] max_length = 7 ``` And produce this: ``` final_list = ['one', 'two', 'three', 'one', 'two', 'three', 'one'] ``` See also How to replicate array to specific length array for Numpy-specific methods. See also Circular list iterator in Python for lazy iteration over such data.