Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - วิธีค้นหาดัชนีมูลค่าในรายการ


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