Die Liste ist ein wichtiger Container in Python, da sie Elemente aller Datentypen als Sammlung speichert. Für die Tagesprogrammierung sind Kenntnisse über bestimmte Listenoperationen erforderlich. In diesem Artikel wird erläutert, wie Sie am schnellsten überprüfen können, ob ein Wert in einer Liste vorhanden ist oder nicht Python .
Beispiel
Input: test_list = [1, 6, 3, 5, 3, 4] 3 # Check if 3 exist or not. Output: True Explanation: The output is True because the element we are looking is exist in the list.>
Überprüfen Sie, ob ein Element in einer Liste in Python vorhanden ist
- Benutzen In Stellungnahme
- Verwendung einer Schleife
- Benutzen any()-Funktion
- Benutzen zählen() Funktion
- Benutzen Sortieren mit bisect_left und Satz()
- Benutzen finden() Methode
- Benutzen Schalter() Funktion
- Benutzen Try-Exception-Block
Überprüfen Sie mithilfe von, ob ein Element in der Liste vorhanden ist In Stellungnahme
Bei dieser Methode verwendet man einfach eine Schleife, die alle Elemente durchläuft, um die Existenz des Zielelements zu überprüfen. Dies ist die einfachste Möglichkeit, die Existenz des Elements in der Liste zu überprüfen. Python ist die gebräuchlichste Methode, um zu prüfen, ob ein Element in einer Liste vorhanden ist oder nicht. Diese spezielle Methode gibt True zurück, wenn ein Element in der Liste vorhanden ist, und False, wenn das Element nicht in der Liste vorhanden ist. Die Liste muss nicht sortiert werden, um diesen Prüfansatz zu praktizieren.
Python3 lst=[ 1, 6, 3, 5, 3, 4 ] #checking if element 7 is present # in the given list or not i=7 # if element present then return # exist otherwise not exist if i in lst: print('exist') else: print('not exist')> Ausgabe
not exist>
Zeitkomplexität: O(1)
Hilfsraum: O(n), wobei n die Gesamtzahl der Elemente ist.
awt Java
Finden Sie mithilfe einer Schleife heraus, ob ein Element in der Liste vorhanden ist
Der angegebene Python-Code initialisiert eine Liste mit dem Namentest_list>mit einigen ganzzahligen Elementen. Anschließend wird jedes Element in der Liste mit a durchlaufenfor>Schleife. Im Inneren Schleife , prüft es, ob das aktuelle Elementi>ist gleich dem Wert 4 unter Verwendung von anif>Stellungnahme. Wenn die Bedingung wahr ist, wird Element Exists auf der Konsole ausgegeben. Der Code gibt die Meldung aus, wenn die Nummer 4 in der Liste vorhanden ist. In diesem Fall wird Element Exists ausgegeben, da die Nummer 4 in der Liste vorhanden ist[1, 6, 3, 5, 3, 4]>.
Python3
# Initializing list test_list = [1, 6, 3, 5, 3, 4] # Checking if 4 exists in list for i in test_list: if(i == 4): print('Element Exists')> Ausgabe:
Element Exists>
Zeitkomplexität: An)
Hilfsraum: O(1)
Überprüfen Sie mit der Funktion any(), ob ein Element in der Liste vorhanden ist
Dies wird durch die Nutzung erreicht any()>Funktion mit einem Generatorausdruck. Der Generatorausdruck durchläuft jedes Elementtest_list>und prüft, ob es mehr als einmal in der Liste vorkommt. Das Ergebnis dieser Prüfung wird in der Variablen gespeichertresult>. Abschließend gibt der Code eine Meldung aus, die angibt, ob doppelte Elemente vorhanden sind. Dabei wird Folgendes angezeigt: „Enthält die Zeichenfolge ein Listenelement: True“, wenn Duplikate vorhanden sind, und „Enthält die Zeichenfolge ein Listenelement: False“, wenn keine Duplikate vorhanden sind.
C++-GUIPython3
# Initializing list test_list = [1, 6, 3, 5, 3, 4] result = any(item in test_list for item in test_list) print('Does string contain any list element : ' +str(bool(result)))> Ausgabe:
Does string contain any list element : True>
Finden Sie mit der Funktion count() heraus, ob ein Element in der Liste vorhanden ist
Wir können das eingebaute verwenden Python-Liste Methode count(), um zu prüfen, ob das übergebene Element in der Liste vorhanden ist. Wenn das übergebene Element in der Liste vorhanden ist, wird das zählen() Die Methode zeigt an, wie oft sie in der gesamten Liste vorkommt. Wenn es sich um eine positive Zahl ungleich Null handelt, bedeutet dies, dass ein Element in der Liste vorhanden ist. Demonstration der Überprüfung der Existenz von Elementen in der Liste mithilfe von zählen() .
Python3 # Initializing list test_list = [10, 15, 20, 7, 46, 2808] print('Checking if 15 exists in list') # number of times element exists in list exist_count = test_list.count(15) # checking if it is more than 0 if exist_count>0: print('Ja, 15 existiert in der Liste') else: print('Nein, 15 existiert nicht in der Liste')> Ausgabe:
Checking if 15 exists in list Yes, 15 exists in list>
Überprüfen Sie, ob ein Element in der Liste vorhanden ist, indem Sie sort mit bisect_left und set verwenden
Konvertieren Sie die Liste in die Menge und verwenden Sie sie dann Es kann möglicherweise effizienter sein, als es nur zu verwenden. Aber Effizienz als Pluspunkt hat auch gewisse Nachteile. Einer davon ist, dass die Reihenfolge der Liste nicht beibehalten wird und Sie zusätzlichen Platz benötigen, wenn Sie dafür eine neue Liste erstellen möchten. Ein weiterer Nachteil besteht darin, dass set Duplizität nicht zulässt und daher doppelte Elemente aus der ursprünglichen Liste entfernt würden. Bei der herkömmlichen binären Suchmethode zum Testen der Elementexistenz muss die Liste daher zuerst sortiert werden und behält daher nicht die Reihenfolge der Elemente bei. bisect_left() gibt das erste Vorkommen des zu findenden Elements zurück und funktioniert ähnlich wie untere_grenze() in C++ STL.
Konvertieren Sie einen String in eine Enumeration
Notiz: Die Bisect-Funktion gibt nur die Position an, an der das Element eingefügt werden soll, nicht jedoch die Details darüber, ob das Element vorhanden ist oder nicht.
Demonstration der Überprüfung der Existenz eines Elements in der Liste mithilfe von Satz() + in und Sortieren() + bisect_left()
Python3 from bisect import bisect_left ,bisect # Initializing list test_list_set = [ 1, 6, 3, 5, 3, 4 ] test_list_bisect = [ 1, 6, 3, 5, 3, 4 ] print('Checking if 4 exists in list ( using set() + in) : ') # 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() ) : ') # Checking if 4 exists in list # using sort() + bisect_left() test_list_bisect.sort() if bisect_left(test_list_bisect, 4)!=bisect(test_list_bisect, 4): print ('Element Exists') else: print('Element doesnt exist')> Ausgabe:
Checking if 4 exists in list ( using set() + in) : Element Exists Checking if 4 exists in list ( using sort() + bisect_left() ) : Element Exists>
Überprüfen Sie mit der Methode find(), ob ein Element in der Liste vorhanden ist
Das Gegebene Python Code prüft, ob die Nummer 15 in der Liste vorhanden isttest_list>. Es wandelt die Elemente der Liste in Zeichenfolgen um und verkettet sie mit Bindestrichen. Dann verwendet es die find()>Methode um zu prüfen, ob die Teilzeichenfolge 15 in der resultierenden Zeichenfolge vorhanden ist. Wenn 15 gefunden wird, wird „Ja, 15 existiert in der Liste“ ausgegeben. andernfalls wird „Nein, 15 existiert nicht in der Liste“ ausgegeben.
# Initializing list test_list = [10, 15, 20, 7, 46, 2808] print('Checking if 15 exists in list') x=list(map(str,test_list)) y='-'.join(x) if y.find('15') !=-1: print('Yes, 15 exists in list') else: print('No, 15 does not exists in list')> Ausgabe
Checking if 15 exists in list Yes, 15 exists in list>
Überprüfen Sie mit der Funktion Counter(), ob ein Element in der Liste vorhanden ist
Der bereitgestellte Python-Code verwendet die Counter> Klasse aus dercollections>Modul zur Berechnung der Häufigkeit jedes Elements imtest_list>. Anschließend wird geprüft, ob die Häufigkeit der Zahl 15 größer als 0 ist. Wenn die Häufigkeit ungleich Null ist, bedeutet dies, dass 15 in der Liste vorhanden ist, und der Code gibt „Ja, 15 existiert in der Liste“ aus. Andernfalls wird „Nein, 15 existiert nicht in der Liste“ ausgegeben. DerCounter>Die Klasse zählt effizient das Vorkommen von Elementen und ermöglicht so eine einfache Existenzprüfung.
from collections import Counter test_list = [10, 15, 20, 7, 46, 2808] # Calculating frequencies frequency = Counter(test_list) # If the element has frequency greater than 0 # then it exists else it doesn't exist if(frequency[15]>0): print('Ja, 15 existiert in der Liste') else: print('Nein, 15 existiert nicht in der Liste')> Ausgabe
Yes, 15 exists in list>
Finden Sie heraus, ob ein ein Element existiert in der Liste unter Verwendung des Try-Exception-Blocks
Ein weiterer Ansatz, um zu überprüfen, ob ein Element in einer Liste vorhanden ist, ist die Verwendung von Index() Methode. Diese Methode gibt den Index des ersten Vorkommens des Elements in der Liste zurück oder löst einen ValueError aus, wenn das Element nicht in der Liste vorhanden ist. Um diese Methode zu verwenden, können Sie den Aufruf von index() in einen Try-Exception-Block einschließen, um den ValueError abzufangen und False zurückzugeben, wenn er auftritt:
Python3 def element_exists(lst, element): # Try to get the index of the element in the list try: lst.index(element) # If the element is found, return True return True # If a ValueError is raised, the element is not in the list except ValueError: # Return False in this case return False #Test the function test_list = [1, 6, 3, 5, 3, 4] print(element_exists(test_list, 3)) # prints True print(element_exists(test_list, 7)) # prints False #This code is contributed by Edula Vinay Kumar Reddy>
Ausgabe
True False>
Zeitkomplexität: O(n), wobei n die Länge der Liste ist. Die Methode index() durchläuft die Liste, um das Element zu finden, sodass die zeitliche Komplexität linear ist.
Raumkomplexität : O(1). Dieser Ansatz erfordert keinen zusätzlichen Platz.
Latexmatrix
Finden Sie mit der Funktion filter() heraus, ob ein Element in der Liste vorhanden ist
Schritt-für-Schritt-Ansatz
- Definieren Sie die Liste my_list und setzen Sie element_to_check.
- Verwenden Sie die Funktion filter(), um einen Iterator (filtered_elements) zu erstellen, der Elemente enthält, die element_to_check entsprechen.
- Konvertieren Sie den Iterator filtered_elements in eine Liste.
- Dieser Schritt ist notwendig, da die Funktion filter() einen Iterator zurückgibt. Die Liste enthält jetzt Elemente gleich element_to_check.
- Überprüfen Sie, ob die Liste filtered_list nicht leer ist.
- Wenn die Liste nicht leer ist, bedeutet dies, dass das Element in der Originalliste vorhanden ist.
my_list = [1, 2, 3, 4, 5] element_to_check = 3 # Use filter to create an iterator of elements equal to the target element filtered_elements = filter(lambda x: x == element_to_check, my_list) # Convert the iterator to a list and check if it's not empty if list(filtered_elements): print('Element exists in the list') else: print('Element does not exist in the list')> Ausgabe
Element exists in the list>
Zeitkomplexität: O(n)
Hilfsraumkomplexität: O(n)