FILTERN VERWENDUNG VON ‚LIST()‘ UND ‚FILTER()‘-METHODEN
Es gibt Fälle, in denen sich Filterkriterien nicht einfach mit Listenverständnis oder Generatorausdrücken ausdrücken lassen. Betrachten wir das Beispiel der Konvertierung unserer ursprünglichen Liste von Arztrechnungen mit Zeichenkettenwerten in Ganzzahlen und das Entfernen fehlender Werte:
medical_charges =
Wir können eine Funktion definieren, die eine Liste nimmt und versucht, jedes Element in eine Ganzzahl zu konvertieren. Wenn die Konvertierung keine Fehler auslöst, geben wir true zurück. Wenn die Konvertierung einen Wertfehler auslöst, verwenden wir eine except-Anweisung, um den Fehler abzufangen und false zurückzugeben:
def convert_and_filter(input_list):
try:
int(input_list)
return True
except ValueError:
return False
Wir können dann die eingebauten Methoden ‚filter()‘ und ‚list()‘ verwenden. Die ‚filter()‘-Funktion erzeugt einen Iterator und die ‚list()‘-Methode erlaubt es uns, eine Liste von Ergebnissen zu erstellen:
charges = list(filter(convert_and_filter, medical_charges))
print(charges)
Ich höre hier auf, aber Sie können gerne mit den obigen Beispielen herumspielen. Sie können z. B. versuchen, die Filterbedingungen im Beispiel für das Listenverständnis so zu ändern, dass nur Kosten kleiner oder gleich 500 $ berücksichtigt werden.
ZUSAMMENFASSUNG
Zusammenfassend haben wir in diesem Beitrag vier Methoden zur Listenfilterung in Python besprochen. Wir haben das Listenverständnis besprochen, das wegen seiner Lesbarkeit nützlich ist. Wir haben auch Generatorausdrücke besprochen, die wir verwenden, wenn wir vermeiden wollen, große Ergebnisse aus großen Datensätzen zu erzeugen. Schließlich haben wir die Verwendung der eingebauten Methoden ‚filter()‘ und ‚list()‘ sowie einer benutzerdefinierten Funktion besprochen, um Listen zu filtern. Ich hoffe, Sie fanden diesen Beitrag nützlich/interessant. Der Code aus diesem Beitrag ist auf GitHub verfügbar. Vielen Dank fürs Lesen!