So what exactly does enumerate do?
All of a sudden the for loop includes index, item.
Not sure what enumerate does or the comma in the for loop.
enumerate() is one of the built-in Python functions. It returns an enumerate object. In our case that object is a list of tuples (immutable lists), each containing a pair of count/index and value. Look at http://docs.python.org/library/functions.html?highlight=enumerate#enumerate
Try the following in the python labs
(here we use another built-in function
list([iterable]) which returns a list whose items are the same and in the same order as iterable‘s items).
>>> choices = ['pizza', 'pasta', 'salad', 'nachos'] >>> list(enumerate(choices)) => [(0, 'pizza'), (1, 'pasta'), (2, 'salad'), (3, 'nachos')]
So, in the
for index, item in enumerate(choices): expression
index, item is the pair of
count, value of each tuple:
(0, 'pizza'), (1, 'pasta'), ...
We may easily change the start count/index with help of
for index, item in enumerate(choices, start = 1): print index, item
or simply with a number as the second parameter
for index, item in enumerate(choices, 1): print index, item
in opposite to the lesson’s hint
for index, item in enumerate(choices): print index + 1, item