On Nov 13, 2007 8:29 AM, sith . <[EMAIL PROTECTED]> wrote: > a = [[0,1,2,3,4,5],[1,2,3,4,5,6]] > You cannot modify the same array when you are looping through it. You have > to loop through the copy of the contents :- a[:]. > > # Untested code > for i in a[:]: # You are looping through the copy of contents > > # I'm new I'm going to try and explain my understanding of this code; pls > correct if wrong > # i[0] is [0,1,2,3,4,5] and i[1] is the other > # the loop first goes to the list on the left then goes to the list on the > right > > for j in i: > > #each element in the sublist is now evaluated > # first 0 in i[0] then 1 in i[1] then back to 1 in i[0] and then to 2 in > i[1]--------- is this right? > # implement your logic with j > if j < i[0]: # or any dynamic conditional check. > > the first time this loops, > 0 in the first list or i[0] is evaulated against itself > what is the next j value for the next loop? > a[i][j] = j <--------- don't understand this bit > > > > Does this help you? > > I've looked on the net as well as my book (python dummies), but can't find > an explantion for nested for loops in nested lists. Would it be possible to > explain? Thank you. > > ------------------------------ > > Not sure but it looks like you want to iterate over an array of array (using C syntax).
for i in a[:] will make i point to the elements of the list and not its index. For getting the index you need to use enumerate or just range(len(a)) as in : for i in range(len(a)) : # now you can access element as a[i] for j in range(len(a[i])) : # now you can access the inner array element as a[i][j] a[i][j] *= 2 You can use this to modify the array content as well. But do exercise caution in case of length change. Or have I completely misunderstood your question ? -- Aditya
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor