โดยปกติ เราจำเป็นต้องค้นหาดัชนีซึ่งเป็นที่ตั้งของค่าเฉพาะ มีหลายวิธีที่จะบรรลุสิ่งนั้น โดยใช้ index() เป็นต้น แต่บางครั้งจำเป็นต้องค้นหาดัชนีทั้งหมดของค่าเฉพาะในกรณีที่มีหลายรายการในรายการ
ตัวอย่าง
# 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))
ผลลัพธ์
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]