On Fri, 1 Apr 2011 21:52:24 +0200, Karl <8213543ggxnvjx...@kabelmail.de> wrote:
>Hello, > >one beginner question: > >aList = [0, 1, 2, 3, 4] >bList = [2*i for i in aList] >sum = 0 >for j in bList: > 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, ... No--to see what 'j' is, comment out your "sum = sum + bList[j]" statement and run again. The name 'j' refers in order to the 0th, 1st, etc., value in bList, and it's therefore just 'j' (i.e., the value that j now refers to) you want to add to the sum. To get "the usual" (in many oter PLs) indexing instead you would use: for j in range(len(bList)): sum = sum + bList[j] And if you again comment out the "sum =..." and add: print j, bList[j] you'll see the difference. wwwayne > >Thanks! > >Karl -- http://mail.python.org/mailman/listinfo/python-list