GeeksforGeeks

A lista egy fontos tároló a pythonban, mivel az összes adattípus elemeit gyűjteményként tárolja. Bizonyos listaműveletek ismerete szükséges a napi programozáshoz. Ez a cikk az egyik alapvető listaműveletet tárgyalja a listában lévő elem létezésének ellenőrzésének módjait.

1. módszer : Naiv módszer

A naiv módszerben egyszerűen egy ciklus segítségével, az összes elemet végig iterálva ellenőrizzük a célelem létezését. Ez a legegyszerűbb módja annak, hogy ellenőrizzük az elem létezését a listában.

2. módszer : A in

Python in használata a leghagyományosabb módja annak, hogy ellenőrizzük, hogy egy elem létezik-e a listában vagy sem. Ez a módszer True értéket ad vissza, ha az elem létezik a listában, és False értéket, ha az elem nem létezik a listában. A listát nem kell rendezni az ellenőrzés ezen megközelítésének gyakorlásához.
Kód #1 : Az elem létezésének ellenőrzése a listában a naiv módszerrel és in

használatával.

test_list =
print("Checking if 4 exists in list ( using loop ) : ")
for i in test_list:
if(i == 4) :
print ("Element Exists")
print("Checking if 4 exists in list ( using in ) : ")
if (4 in test_list):
print ("Element Exists")



Kimenet :

Checking if 4 exists in list ( using loop ) : Element ExistsChecking if 4 exists in list ( using in ) : Element Exists

3. módszer : set() + in

A lista halmazzá alakítása, majd az in használata esetleg hatékonyabb lehet, mint a csak in használata. De a hatékonyságnak mint plusznak vannak bizonyos negatívumai is. Az egyik ezek közül az, hogy a lista sorrendje nem marad meg, és ha úgy dönt, hogy új listát vesz fel hozzá, akkor extra helyet kell használnia. A másik hátránya, hogy a halmaz nem engedélyezi a duplikálást, és ezért a duplikált elemeket eltávolítanánk az eredeti listából.

4. módszer : sort() + bisect_left()

használata Az elem létezésének vizsgálatára szolgáló hagyományos bináris keresési mód, ezért a listát először rendezni kell, és így nem marad meg az elemek sorrendje. A bisect_left() a keresett elem első előfordulását adja vissza, és hasonlóan működik, mint a lower_bound() a C++ STL-ben.
Kód #2 : Az elem létezésének ellenőrzése a listában a set() + in és a sort() + bisect_left() használatával.

from bisect import bisect_left
test_list_set =
test_list_bisect =
print("Checking if 4 exists in list ( using set() + in) : ")
test_list_set = set(test_list_set)
if 4 in test_list_set :
print ("Element Exists")
print("Checking if 4 exists in list ( using sort() + bisect_left() ) : ")
test_list_bisect.sort()
if bisect_left(test_list_bisect, 4):
print ("Element Exists")



Article Tags :
Gyakorlat Címkék :

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

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