On Mon, Oct 8, 2012 at 12:28 PM, <mooremath...@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]
>

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.
>
> --Matt
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to