Usually, we require to find the index, in which the particular value is located. There are many method to achieve that, using index() etc. But sometimes require to find all the indices of a particular value in case it has multiple occurrences in list.
Example
# using filter() # initializing list test_list = [1, 3, 4, 3, 6, 7] # printing initial list print ("Original list : " + str(test_list)) # using filter() # to find indices for 3 res_list = list(filter(lambda x: test_list[x] == 3, range(len(test_list)))) # printing resultant list print ("New indices list : " + str(res_list)) # using enumerate() # initializing list test_list = [1, 3, 4, 3, 6, 7] # printing initial list print ("Original list : " + str(test_list)) # using enumerate() # to find indices for 3 res_list = [i for i, value in enumerate(test_list) if value == 3] # printing resultant list print ("New indices list : " + str(res_list)) # using list comprehension # initializing list test_list = [1, 3, 4, 3, 6, 7] # printing initial list print ("Original list : " + str(test_list)) # using list comprehension # to find indices for 3 res_list = [i for i in range(len(test_list)) if test_list[i] == 3] # printing resultant list print ("New indices list : " + str(res_list)) # using naive method # initializing list test_list = [1, 3, 4, 3, 6, 7] # printing initial list print ("Original list : " + str(test_list)) # using naive method # to find indices for 3 res_list = [] for i in range(0, len(test_list)) : if test_list[i] == 3 : res_list.append(i) # printing resultant list print ("New indices list : " + str(res_list))
Output
Original list : [1, 3, 4, 3, 6, 7] New indices list : [1, 3] Original list : [1, 3, 4, 3, 6, 7] New indices list : [1, 3] Original list : [1, 3, 4, 3, 6, 7] New indices list : [1, 3] Original list : [1, 3, 4, 3, 6, 7] New indices list : [1, 3]