Insert item before each element of a list
ckaynor at zindagigames.com
Mon Oct 8 21:45:42 CEST 2012
On Mon, Oct 8, 2012 at 12:28 PM, <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
> >>> y
> ['insertme', 1, 'insertme', 2, 'insertme', 3]
There is no need to use range and iterate over the indices:
list(itertools.chain.from_iterable(('insertme', i) for i in x))
You could simplify that even farther to a simple list expression:
[('insertme', i) for i in x]
You could also use zip and repeat:
zip(itertools.repeat('insertme'), x) # Use itertools.izip for a generator
rather than a list.
All code is untested.
> I appreciate any and all feedback.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list