Don Parris wrote:
Hi all,
After a rather long (and unfortunate) break from tinkering with Python,
I am back at it. I am working through the book Learning Python (based
on 2.2/2.3 - I use 2.5), and in the chapter on while/for loops, ran
across the following example:
>>> L = [1, 2, 3, 4, 5]
>>> for i in range(len(L)):
... L[1] += 1 # this is a typo I made -
should have been L[i], not L[1].
...
>>> L
[1, 7, 3, 4, 5]
I did correct my typo, but what I do not understand is how range arrived
at a '7', where the '2' should be. My best guess is that L[1] is
treated as the index of the value '2'. I hope that learning how my
You are correct. In the expression L[n], you are referring to the nth
element in the list L (where n starts at 0). So L[1] is the element
which starts off with the value 2 in your example.
When you execute:
for i in range(len(L)):
L[1] += 1
that will increment element #1 once each time through the loop,
giving you the result [1, 7, 3, 4, 5]
If you correct your loop to read as:
for i in range(len(L)):
L[i] += 1
You'll get [2, 3, 4, 5, 6] as the result. i will iterate over
the range from 0 to len(L)-1, or [0,1,2,3,4] and for each of those
numbers increment the corresponding element of L.
error affected the result will help me grasp the concept a little better.
Thanks!
Don
--
D.C. Parris
Minister, Journalist, Free Software Advocate
https://www.xing.com/profile/Don_Parris
http://www.linkedin.com/in/dcparris
sip:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
------------------------------------------------------------------------
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor