Liste ist ein wichtiger Container in Python, da er Elemente aller Datentypen als Sammlung speichert. Die Kenntnis bestimmter Listenoperationen ist für die alltägliche Programmierung notwendig. In diesem Artikel wird eine der grundlegenden Listenoperationen besprochen, wie man das Vorhandensein eines Elements in einer Liste überprüfen kann.
Methode 1: Naive Methode
Bei der naiven Methode verwendet man einfach eine Schleife, die durch alle Elemente iteriert, um das Vorhandensein des Zielelements zu überprüfen. Dies ist der einfachste Weg, um das Vorhandensein eines Elements in der Liste zu prüfen.
Methode 2: Verwendung von in
Python in
ist der konventionellste Weg, um zu prüfen, ob ein Element in der Liste vorhanden ist oder nicht. Diese Methode gibt True zurück, wenn ein Element in der Liste existiert, und False, wenn das Element nicht in der Liste existiert. Die Liste muss nicht sortiert sein, um diesen Ansatz der Überprüfung zu praktizieren.
Code #1 : Demonstration der Überprüfung der Existenz eines Elements in einer Liste mit der naiven Methode und in
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"
)
Ausgabe :
Checking if 4 exists in list ( using loop ) : Element ExistsChecking if 4 exists in list ( using in ) : Element Exists
Methode 3 : Verwendung von set()
+ in
Die Liste in eine Menge umzuwandeln und dann in zu verwenden, kann möglicherweise effizienter sein als nur in
zu verwenden. Die Effizienz hat aber auch einige Nachteile. Einer davon ist, dass die Reihenfolge der Liste nicht beibehalten wird, und wenn Sie sich dafür entscheiden, eine neue Liste zu erstellen, würden Sie zusätzlichen Platz benötigen. Ein weiterer Nachteil ist, dass Set Duplikate nicht zulässt und daher doppelte Elemente aus der ursprünglichen Liste entfernt werden.
Methode 4 : Verwendung von sort()
+ bisect_left()
Die konventionelle binäre Suche zur Prüfung der Existenz von Elementen, daher muss die Liste zuerst sortiert werden und die Reihenfolge der Elemente bleibt nicht erhalten. bisect_left()
gibt das erste Vorkommen des zu findenden Elements zurück und funktioniert ähnlich wie lower_bound() in C++ STL.
Code #2 : Demonstration der Prüfung der Existenz eines Elements in einer Liste mit set()
+ in
und sort()
+ bisect_left()
.
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"
)