Fix Python – How to find all occurrences of an element in a list

Question

Asked By – Bruce

index() will give the first occurrence of an item in a list. Is there a neat trick which returns all indices in a list for an element?

Now we will see solution for issue: How to find all occurrences of an element in a list


Answer

You can use a list comprehension with enumerate:

indices = [i for i, x in enumerate(my_list) if x == "whatever"]

The iterator enumerate(my_list) yields pairs (index, item) for each item in the list. Using i, x as loop variable target unpacks these pairs into the index i and the list item x. We filter down to all x that match our criterion, and select the indices i of these elements.

This question is answered By – Sven Marnach

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0