Iterate over a list in Python - GeeksforGeeks

06 Nov, 2021
List is equivalent to arrays in other languages, with the extra benefit of being dynamic in size. In Python, the list is a type of container in Data Structures, which is used to store multiple data at the same time. Unlike Sets, lists in Python are ordered and have a definite count.
There are multiple ways to iterate over a list in Python. Let’s see all the different ways to iterate over a list in Python, and performance comparison between them.
Method #1: Using For loop 
Python3
# Python3 code to iterate over a listlist = [1, 3, 5, 7, 9]  # Using for loopfor i in list:    print(i)
Output: 
1
3
5
7
9
Method #2: For loop and range()In case we want to use the traditional for loop which iterates from number x to number y.  
Python3
# Python3 code to iterate over a listlist = [1, 3, 5, 7, 9]  # getting length of listlength = len(list)  # Iterating the index# same as 'for i in range(len(list))'for i in range(length):    print(list[i])
Output: 
1
3
5
7
9
Iterating using the index is not recommended if we can iterate over the elements (as done in Method #1).   Method #3: Using while loop 
Python3
# Python3 code to iterate over a listlist = [1, 3, 5, 7, 9]  # Getting length of listlength = len(list)i = 0  # Iterating using while loopwhile i < length:    print(list[i])    i += 1
Output: 
1
3
5
7
9
Method #4: Using list comprehension (Possibly the most concrete way).  
Python3
# Python3 code to iterate over a listlist = [1, 3, 5, 7, 9]  # Using list comprehension[print(i) for i in list]
Output: 
1
3
5
7
9
Method #5: Using enumerate()If we want to convert the list into an iterable list of tuples (or get the index based on a condition check, for example in linear search you might need to save the index of minimum element), you can use the enumerate() function. 
Python3
# Python3 code to iterate over a listlist = [1, 3, 5, 7, 9]  # Using enumerate()for i, val in enumerate(list):    print (i, ",",val)
Output: 
0 , 1
1 , 3
2 , 5
3 , 7
4 , 9
Note: Even method #2 can be used to find the index, but method #1 can’t (Unless an extra variable is incremented every iteration) and method #5 gives a concise representation of this indexing.   Method #6: Using numpyFor very large n-dimensional lists (for example an image array), it is sometimes better to use an external library such as numpy. 
Python3
# Python program for# iterating over arrayimport numpy as geek  # creating an array using # arrange methoda = geek.arange(9)  # shape array with 3 rows # and 4 columnsa = a.reshape(3, 3)  # iterating an arrayfor x in geek.nditer(a):    print(x)
Output: 
0
1
2
3
4
5
6
7
8
We can use np.ndenumerate() to mimic the behavior of enumerating. The extra power of NumPy comes from the fact that we can even control the way to visit the elements (Fortran order rather than C order, say :)) but the one caveat is that the np.nditer treats the array as read-only by default, so one must pass extra flags such as op_flags=[‘readwrite’] for it to be able to modify elements. 
Akanksha_Rai
espinozahg
punamsingh628700
Picked
Python list-programs
python-list
Python
python-list
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
How to Install PIP on Windows ?
Create a Pandas DataFrame from Lists
How to drop one or multiple columns in Pandas Dataframe
*args and **kwargs in Python
Graph Plotting in Python | Set 1
How To Convert Python Dictionary To JSON?
Check if element exists in list in Python
Convert integer to string in Python
Python | Pandas dataframe.groupby()
Python | Program to convert String to a List