Idiomatic way of repeating items in a sequence.
alr
anlri at wmdata.com
Mon Jun 30 07:26:17 EDT 2003
I need to repeat each item in a list n times, like this function does:
def repeatitems(sequence, repetitions):
newlist = []
for item in sequence:
for i in range(repetitions):
newlist.append(item)
return newlist
Output:
>>> repeatitems(['a', 'b', 'c'], 3)
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']
Clear and simple. But i wonder if there is a more idiomatic way. Surely not this:
def repeatitems(sequence, repetitions):
return reduce(lambda l, i: l + i, [[item] * repetitions for item in sequence])
?
More information about the Python-list
mailing list