So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht

Überblick

Ein Memo, in dem untersucht wurde, wie Array.prototype.find () -ähnliche Operationen in JavaScript in Python ausgeführt werden.

Javascript finden()


const fruits = ["apple", "lemon", "melon", "orange"];
const elm = fruits.find(e => e.endsWith("n"));
console.log(elm); // "lemon"

Methode mit der Filterfunktion

Die Filterfunktion empfängt eine anonyme Funktion, die durch einen Lambda-Ausdruck als erstes Argument beschrieben wird, und wendet sie auf jedes Element der Liste des zweiten Arguments an. Das Element, für das das Ergebnis wahr ist, wird extrahiert und ein Iterator zurückgegeben, sodass das Ergebnis durch Anwenden der Funktion "Liste" als Liste erhalten werden kann.

Filterfunktion


    fruits = ["apple", "lemon", "melon", "orange"]
    #Filterfunktion
    lst = list(filter(lambda x: x.endswith("n"), fruits))
    assert lst == ["lemon", "melon"]
    #Filterfunktion Kein passendes Element
    lst = list(filter(lambda x: x.endswith("x"), fruits))
    assert lst == []

Wenn Sie die Funktion "Weiter" anstelle der Funktion "Liste" anwenden, erhalten Sie das erste Element, das die Kriterien erfüllt. Geben Sie im zweiten Argument der Funktion filter`` None als Standardwert an, wenn das Element nicht gefunden wird. (Beachten Sie, dass ohne diese Spezifikation eine StopIteration-Ausnahme ausgelöst wird und das System abnormal beendet wird.)

Filterfunktion+durch nächste Funktion finden


    #durch Filterfunktion finden
    elm = next(filter(lambda x: x.endswith("n"), fruits), None)
    assert elm == "lemon"
    #Suche durch Filterfunktion Kein passendes Element
    elm = next(filter(lambda x: x.endswith("x"), fruits), None)
    assert elm == None

Finden Sie durch Generator

Ein Generatorausdruck ist ein Ausdruck, der einen Generator in einer Notation wie der Listeneinschlussnotation definiert. Da ein Generator einen Iterator zurückgibt, kann er an die Funktion "next" übergeben werden.

Generatortyp+durch nächste Funktion finden


    #Finden Sie durch Generator
    elm = next((f for f in fruits if f.endswith("n")), None)
    assert elm == "lemon"
    #Suche durch Generatorausdruck Kein übereinstimmendes Element
    elm = next((f for f in fruits if f.endswith("x")), None)
    assert elm == None

Das erste Argument ist ein Generatorausdruck. Der Unterschied zur Listeneinschlussnotation besteht darin, dass sie in "()" anstelle von "[]" eingeschlossen ist.

Generatortyp


(f for f in fruits if f.endswith("x"))

Recommended Posts

So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
So bestimmen Sie die Existenz eines Selenelements in Python
So löschen Sie einen Taple in einer Liste (Python)
[Python] So geben Sie Listenwerte der Reihe nach aus
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
So überprüfen Sie die Speichergröße einer Variablen in Python
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Ein Skript, das 0, 1 an die erste Python-Primzahl zurückgibt
So löschen Sie mehrere angegebene Positionen (Indizes) in einer Python-Liste
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
Wie bekomme ich Stacktrace in Python?
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
Verwendung der C-Bibliothek in Python
Einbetten von Variablen in Python-Strings
So erstellen Sie eine JSON-Datei in Python
Kopieren Sie die Liste in Python
So benachrichtigen Sie Discord-Kanäle in Python
So erhalten Sie die Dateien im Ordner [Python]
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
[Python] Finden Sie die Translokationsmatrix in Einschlussnotation
So entfernen Sie doppelte Elemente in der Python 3-Liste
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
[Python] So sortieren Sie nach dem N-ten M-ten Element eines mehrdimensionalen Arrays
Die findähnliche Sache der Liste in Python
[Python] Lösung für das Problem, dass Elemente beim Kopieren einer Liste verknüpft werden
So rufen Sie den n-ten größten Wert in Python ab
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Suchen Sie den Teil 575 aus Wikipedia in Python
Beachten Sie beim Initialisieren einer Liste in Python
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht
[Python] So sortieren Sie Diktate in Listen und Instanzen in Listen
Verwendung des in Lobe in Python erlernten Modells
So führen Sie einen Befehl mit einem Unterprozess in Python aus
[Linux] Wie Sie Ihre IP in eine Variable einfügen
So testen Sie eine Funktion, die die aktuelle Zeit enthält, mit Freezegun in Python
Finde Fehler in Python
[Python] Verwendung von Liste 1
Wie man in Python entwickelt
So finden Sie die optimale Anzahl von Clustern für k-means
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio