GeeksforGeeks

Sædvanligvis har vi brug for at finde det indeks, som den pågældende værdi er placeret i. Der er mange metoder til at opnå dette, ved hjælp af index() osv. Men nogle gange skal vi finde alle indeksene for en bestemt værdi, hvis den har flere forekomster i listen.

Lad os diskutere visse måder at finde indekser for værdi i given liste.

Metode #1 : Naiv metode

Vi kan opnå denne opgave ved at iterere gennem listen og kontrollere for den pågældende værdi og bare tilføje værdien indeks i ny liste og udskrive den. Dette er den grundlæggende brute force-metode til at udføre denne opgave.

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))



Output:

Original list : New indices list : 

Metode #2 : Brug af listeforståelse

Listeforståelse er blot en kortfattet teknik til at udføre brute force-opgaven, der blot bruger færre linjer kode til at udføre opgaven og dermed sparer programmørerne tid.

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



Output:

Original list : New indices list : 

Metode #3 : Ved hjælp af enumerate()
Ved hjælp af enumerate() kan vi opnå den samme opgave, dette er en lidt hurtigere teknik end ovenstående og anbefales derfor at blive brugt frem for listens forståelsesteknik.

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



Output:

Original list : New indices list : 

Metode #4 : Brug af filter()

Dette er endnu en metode, der kan anvendes til at løse denne særlige opgave, filter() er normalt i stand til at udføre filtreringsopgaverne og kan derfor også anvendes i denne situation til at løse denne opgave.

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))



Udgang:

Original list : New indices list : 

Artikel Tags :
Praksis Tags :

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.