"Wayne Watson" <sierra_mtnv...@sbcglobal.net> wrote
I'm still looking for an explanation of "
for (line_cnt, each_line) in enumerate(input_file)".
Why the tuple?
Apparently, line_count gets a line number, and each_line gets the string

OK, Back up from the specific problem to the more general case.

enumerate does not return the line number it returns the
current index of the collection:

for index, item in [9,8,7,6]:
  print index, item


0 9
1 8
2 7
3 6

If you are familiar with list comprehensions (or generator expressions)
you could do the same yourself with:

lst = [9,8,7,6]
for i,n in ((i,lst[i]) for i in range(len(lst))):
...     print i, n
...
0 9
1 8
2 7
3 6


But enumerate is easier on the eye.

And if its the i,n bit that confuses that is just tuple unpacking.
We can do this:

a,b = (1,2)
print a, b
1 2

Now, coming back to your specific case.
The index of a file "collection" is the line number (starting at
zero of course) and the item is the line of text.

HTH,

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to