Insert item before each element of a list
Duncan Booth
duncan.booth at invalid.invalid
Tue Oct 9 07:40:14 EDT 2012
mooremathewl at gmail.com wrote:
> What's the best way to accomplish this? Am I over-complicating it?
> My gut feeling is there is a better way than the following:
>
>>>> import itertools
>>>> x = [1, 2, 3]
>>>> y = list(itertools.chain.from_iterable(('insertme', x[i]) for i in
>>>> range(len(x)))) y
> ['insertme', 1, 'insertme', 2, 'insertme', 3]
>
> I appreciate any and all feedback.
>
Given the myriad of proposed solutions, I'm surprised nobody has suggested
good old list slicing:
>>> x = [1,2,3]
>>> y = ['insertme']*(2*len(x))
>>> y[1::2] = x
>>> y
['insertme', 1, 'insertme', 2, 'insertme', 3]
--
Duncan Booth
More information about the Python-list
mailing list