Get Index of Multiple List Elements in Python (3 Examples)
In this article, you’ll learn how to get the index of multiple elements in a Python list.
The content of the post looks as follows:
Let’s go straight to the code!
At the start, we will need to create a sample list to use in the following examples.
my_list = [10, "apple", 20, "banana", 30, "orange"] print(my_list) # [10, 'apple', 20, 'banana', 30, 'orange']
As shown, we have created a Python list named
my_list, which contains three integers (e.g., 10) and three strings (e.g., “banana”).
Let’s say we want to find the index of each of the strings “apple”, “banana” and “orange”. To do so, we will first create the
elements list as follows.
elements = ["apple", "banana", "orange"]
Now, let’s get the index of the
Example 1: Use List Comprehension to Get Multiple Indexes in List
In this example, we will use list comprehension to get the indexes from our selected
indexes = [i for i in range(len(my_list)) if my_list[i] in elements] print(indexes) # [1, 3, 5]
As you can see, the list comprehension has created a list of all the indexes where the corresponding element in
my_list is in the
elements list. In this case, the resulting list is
[1, 3, 5], which are the indexes of each of the
Example 2: Use for Loop to Get Multiple Indexes in List
In this next example, we will use a for loop to get the index of each element in
indexes =  for element in elements: index = my_list.index(element) indexes.append(index) print(indexes) # [1, 3, 5]
Here, we have first created an empty list called
indexes that we will fill with the indexes of
elements. The for loop iterates over each element in the
elements list and, for each of these elements, the index() method is applied on
my_list to find the corresponding indexes in
Note that if there are multiple occurrences, we will only get the index of the first element using this method.
Example 3: Use numpy.where() Method to Get Multiple Indexes in List
This last example shows how to use the NumPy library to get the indexes of multiple elements in a list. To do so, we will first install and import NumPy.
pip install numpy import numpy as np
Now, we can proceed with the example.
my_array = np.array(my_list) indexes = np.where(np.isin(my_array, elements)).tolist() print(indexes) # [1, 3, 5]
This code first converts
my_list into a NumPy array using
np.array(). Then, the
np.isin() method is used to create a boolean array that is ‘True’ for elements that are in the
elements list, and ‘False’ otherwise.
np.where() function returns a tuple, where the first element is the array of indices that satisfy the condition. Since we are primarily interested in this array of indices. To access this array from the tuple, we need to use
, which is an index operation that accesses the first element in the tuple.
Video, Further Resources & Summary
Do you need more explanations on how to get the index of multiple elements in a list in Python? Then you should have a look at the following YouTube video of the Statistics Globe YouTube channel.
The YouTube video will be added soon.
Moreover, you could have a look at some related tutorials on Statistics Globe:
- Python Programming Language for Statistics & Data Science
- Get First Index of List in Python
- Find Index of List Element Conditionally in Python
- Get Index of Item in 2D List in Python
This post has shown how to get the indexes of multiple elements in a list in Python. In case you have further questions, don’t hesitate to let me know in the comments section.
This page was created in collaboration with Paula Villasante Soriano. Please have a look at Paula’s author page to get further information about her academic background and the other articles she has written for Statistics Globe.