On Fri, Apr 1, 2011 at 12:52 PM, Karl <8213543ggxnvjx...@kabelmail.de> wrote: > Hello, > > one beginner question: > > aList = [0, 1, 2, 3, 4] > > bList = [2*i for i in aList]
Equivalently: bList = [0, 2, 4, 6, 8] > sum = 0 > > for j in bList: Note that you're iterating over *b*List here, as opposed to *a*List. I think you made a typo and intended "for j in aList:" instead. > sum = sum + bList[j] > > print j > > 0 > > 2 > > 4 > > IndexError: 'list index out of range' > > Why is j in the second run 2 and not 1 in the for-loop?? I think j is a > control variable with 0, 1, 2, 3, ... Your code, as written, iterates over the *elements* of *b*List, which, consistent with the behavior you're observing, are [0, 2, 4, 6, 8]. j will therefore equal 0, then 2, then 4, etc... Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list