Idiomatic way of repeating items in a sequence.
Jeff Epler
jepler at unpythonic.net
Mon Jun 30 12:04:21 EDT 2003
Here's one:
def repeatitems(sequence, repetitions):
r = [None] * repetitions
return [i for i in sequence for j in r]
Here's another, using generator functions (so the return is an iterator,
not a list):
def repeatitems(sequence, repetitions):
r = [None] * repetitions
for item in sequence:
for i in r:
yield item
In both cases I've performed an "optimization" by precomputing a list
with len(repetitions) instead of computing it once for each item in
sequence. Whether this makes a difference, I don't know.
Jeff
More information about the Python-list
mailing list