Best way to extend a list with itself N times

list, mutable, python, python-2.7

Solution

Eventually I came up with:

[copy.copy(e) for _ in range(N) for e in sourceList]

Problem

So I have a list `[a,b,c]` and I want to obtain `[a,b,c,a,b,c,...a,b,c]`. I can of course do this with two nested loops, but there must be a better way? `itertools.cycle()` would have been solution if I could provide a count. Two constraints: - it should work in 2.7 (but for the sake of curiosity I'm interested in a 3.x solution) - list elements should be independent copies (they are mutable types)

Original source

Related problems