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.
Answer 5087fc982389640200004962
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 enumerate(sequence, start=0)
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
8 comments
Great explanation, Ivan! Did you know you can link to code examples in the Labs by clicking “share” in the upper right corner? See http://labs.codeacademy.com/4eL#:workspace
Thanks!! Understand it much better now.
@ Alex J. I see, I will be sharing code examples in the Labs then :-)
Genius! Ty
this is exactly what i needed - it was not explained at all. Thank you so much!
The lesson should be updated to better explain the enumerate.
Thank you very much for the comment. It was true that seeing this ‘index, item’ pair was quite confusing. Thanks for the help!
Thanks for explanation! Above mentioned details should be included in the tutorial.