GeeksforGeeks

Általában meg kell találnunk azt az indexet, amelyben az adott érték található. Erre számos módszer létezik, a index() stb. segítségével. De néha szükség van egy adott érték összes indexének megtalálására, ha az érték többször is előfordul a listában.

Megbeszélünk bizonyos módszereket az adott listában lévő érték indexeinek megtalálására.

Módszer #1 : Naiv módszer

Ezt a feladatot úgy tudjuk elérni, hogy végigmegyünk a listán, és megnézzük, hogy az adott értéket, és csak az érték indexét csatoljuk az új listába, és azt kiírjuk. Ez az alapvető nyers erő módszer a feladat eléréséhez.

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



Kimenet:

Original list : New indices list : 

Módszer #2 : A lista megértése

A lista megértése csak a rövidített technika a nyers erő feladat eléréséhez, csak kevesebb kódsort használ a feladat eléréséhez, és így időt takarít meg a programozóknak.

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



Kimenet:

Original list : New indices list : 

Módszer #3 : enumerate()
A enumerate() használatával elérhetjük a hasonló feladatot, ez a technika valamivel gyorsabb, mint a fenti, ezért ajánlott a lista megértési technikával szemben.

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



Kimenet:

Original list : New indices list : 

Módszer #4 : filter()

használata Ez egy újabb módszer, amely alkalmazható az adott feladat eléréséhez, a filter() általában képes a szűrési feladatok elvégzésére, ezért ebben a helyzetben is használható a feladat eléréséhez.

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



Kimenet:

Original list : New indices list : 

Cikk címkék :
Gyakorlat Címkék :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.