GeeksforGeeks

Oftast behöver vi hitta indexet där ett visst värde finns. Det finns många metoder för att uppnå detta, genom att använda index() osv. Men ibland måste vi hitta alla index för ett visst värde om det har flera förekomster i listan.

Låt oss diskutera vissa sätt att hitta index för ett värde i en given lista.

Metod #1 : Naiv metod

Vi kan uppnå denna uppgift genom att iterera genom listan och kontrollera om det värdet finns och bara lägga till värdeindexet i en ny lista och skriva ut det. Detta är den grundläggande brute force-metoden för att uppnå denna uppgift.

test_list =
print ("Original list : " + str(test_list))
res_list =
for i in range(0, len(test_list)) :
if test_list == 3 :
res_list.append(i)
print ("New indices list : " + str(res_list))



Utfall:

Original list : New indices list : 

Metod #2: Användning av listförståelse

Listförståelse är bara en kortfattad teknik för att uppnå brute force-uppgiften, som bara använder färre rader av koder för att uppnå uppgiften och därmed sparar programmerare tid.

test_list =
print ("Original list : " + str(test_list))
res_list = == 3]
print ("New indices list : " + str(res_list))



Utgång:

Original list : New indices list : 

Metod #3 : Med hjälp av enumerate()
Med hjälp av enumerate() kan vi uppnå en liknande uppgift, detta är en något snabbare teknik än ovan och rekommenderas därför att användas framför listförståelsetekniken.

test_list =
print ("Original list : " + str(test_list))
res_list =
print ("New indices list : " + str(res_list))



Utgång:

Original list : New indices list : 

Metod #4 : Användning av filter()

Detta är ytterligare en metod som kan användas för att uppnå denna specifika uppgift, filter() brukar kunna utföra filtreringsuppgifter och kan därför också användas i denna situation för att uppnå denna uppgift.

test_list =
print ("Original list : " + str(test_list))
res_list = list(filter(lambda x: test_list == 3, range(len(test_list))))
print ("New indices list : " + str(res_list))



Output:

Original list : New indices list : 

Artikel Taggar :
Praktik Taggar:

Lämna ett svar

Din e-postadress kommer inte publiceras.