On Wed, 8 Sep 2010 15:23:35 -0500 Jonno <jonnojohn...@gmail.com> wrote:
> On Wed, Sep 8, 2010 at 3:18 PM, Jonno <jonnojohn...@gmail.com> wrote: > [snip] > > Now if I want to select the first item in every 2nd item of list a > > (ie: [1,7]) can I use ::2 anywhere or do I need to create a list of > > indices to use in a more complex for loop? > > > Seems like the simplest way would be: > [row[0] for row in a][::2] What you're doing here is selecting every second item of the list of first items of the items in a, not the first items of every second item in a (head spinning yet?). If I'm not completely mindbent right now, these are logically equivalent, but not computationally. Compare [row[0] for row in a][::2] # (your Python code) with [row[0] for row in a[::2]] # (as per your description) The first one is more work for your computer, because it'll pick out the first elements of *all* of the items in a, whereas the second only picks out the first elements of every second item in a (which is only half the amount of "picks" compared to the former). I just thought I'd mention it. Because it might make a difference in one of your programs some day. And because I'm a pedant ;). /W -- INVALID? DE! -- http://mail.python.org/mailman/listinfo/python-list