Using an unpythonic loop¶
PEP 20 states “There should be one– and preferably only one –obvious way to do it.” Creating a loop that uses an incrementing index to access each element of a list within the loop construct is not the preferred style for accessing each element in a list. The preferred style is to use
enumerate() to simultaneously retrieve the index and list element.
The code below uses an index variable
i in a
for loop to iterate through the elements of a list. This is not the preferred style for iterating through a list in Python.
l = [1,2,3] # creating index variable for i in range(0,len(l)): # using index to access list le = l[i] print(i,le)
Retrieve index and element when defining loop¶
The updated code below demonstrates the Pythonic style for iterating through a list. When you define two variables in a
for loop in conjunction with a call to
enumerate() on a list, Python automatically assigns the first variable as an index variable, and the second variable as the corresponding list element value for that index location in the list.
for i, le in enumerate(l): print(i, le)