GeeksforGeeks

De obicei, avem nevoie să găsim indexul în care se află o anumită valoare. Există multe metode pentru a realiza acest lucru, folosind index() etc. Dar uneori este necesar să găsim toți indicii unei anumite valori, în cazul în care aceasta are mai multe apariții în listă.

Să discutăm anumite modalități de a găsi indicii unei valori într-o listă dată.

Metoda #1 : Metoda naivă

Potem realiza această sarcină prin iterația prin listă și verificarea acelei valori și adăugarea indicelui valorii în noua listă și imprimarea acesteia. Aceasta este metoda de bază de forță brută pentru a realiza această sarcină.

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



Ieșire:
:

Original list : New indices list : 

Metoda nr. 2 : Utilizarea înțelegerii listei

Comprehensiunea listei este doar o tehnică de prescurtare pentru a realiza sarcina de forță brută, utilizează doar mai puține linii de cod pentru a realiza sarcina și, prin urmare, economisește timpul programatorilor.

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



Ieșire:

Original list : New indices list : 

Metoda #3 : Folosind enumerate()
Utilizând enumerate() putem realiza o sarcină similară, aceasta este o tehnică ușor mai rapidă decât cea de mai sus și, prin urmare, se recomandă să fie utilizată în locul tehnicii de înțelegere a listei.

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



Ieșire:

Original list : New indices list : 

Metoda nr. 4 : Utilizarea filter()

Aceasta este încă o metodă care poate fi utilizată pentru a realiza această sarcină specială, filter() este de obicei capabilă să îndeplinească sarcinile de filtrare și, prin urmare, poate fi utilizată și în această situație pentru a realiza această sarcină.

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



Ieșire:

Original list : New indices list : 

Etichete articol :
Etichete de practică :

Lasă un răspuns

Adresa ta de email nu va fi publicată.