Bedingungen hinzufügen
Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 52 von 78.
List Comprehensions werden noch leistungsfähiger, wenn Sie bedingte Logik hinzufügen. Dies ermöglicht es Ihnen, neue Listen auf der Grundlage bestehender Listen zu erstellen, wobei Elemente basierend auf festgelegten Bedingungen gefiltert und transformiert werden.
Die Syntax zum Hinzufügen einer Bedingung zu einer List Comprehension ist:
new_list = [expression for item in iterable if condition]Hier ist eine Aufschlüsselung der Syntax:
new_list: Die neue Liste, die erstellt wird.
expression: Der Wert, der innew_listaufgenommen werden soll. Dies kann eine modifizierte Version vonitemsein.
for item in iterable: Eine Schleife, die über jedes Element in demiterable(z. B. eine Liste, ein Tupel oder ein Bereich) iteriert.
item: Das aktuelle Element, das in der Schleife verarbeitet wird.
if condition: Ein Filter, der bestimmt, ob das aktuelleiteminnew_listaufgenommen werden soll. Derexpressionwird nur ausgewertet, wenn dieconditionTrueist.
Hier ist ein Beispiel:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# Ausgabe: [2, 4, 6]In diesem Beispiel erstellt die List Comprehension eine neue Liste namens evens, indem sie jedes Element n aus der numbers-Liste nimmt und es nur einfügt, wenn es gerade ist (d. h. n % 2 == 0).
Aufgabe
EinfachErstellen Sie eine Funktion namens filter_and_square, die eine Liste von Zahlen numbers als Argument entgegennimmt. Die Funktion sollte eine List Comprehension verwenden, um eine neue Liste zu erstellen, die nur die Quadrate der positiven Zahlen aus der ursprünglichen Liste enthält. Die Funktion sollte die neue Liste zurückgeben.
Spickzettel
List Comprehensions mit bedingter Logik ermöglichen es Ihnen, Elemente basierend auf bestimmten Bedingungen zu filtern und zu transformieren:
new_list = [expression for item in iterable if condition]expression: Der Wert, der in die neue Liste aufgenommen werden sollfor item in iterable: Schleife über jedes Elementif condition: Filter, der bestimmt, ob das Element aufgenommen werden soll
Beispiel – Filtern von geraden Zahlen:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# Ausgabe: [2, 4, 6]Probier es selbst
def filter_and_square(numbers):
# Code hier schreibenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Variablen-Erkundung
KonstantenMehrfache VariablenzuweisungenVariablen tauschenPlatzhalter-VariablenZahlen rundenListen-Casting4Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen7Sets Teil 2
Mathematische Operationen Teil 1Mathematische Operationen Teil 2Rückblick – SchatzsucheTeilmengen und ObermengenIterieren über SetsRückblick – Turnier-Tracker10Grundlagen der List Comprehensions
Die SyntaxEinfache Listen erstellenBedingungen hinzufügenDatenaggregation nutzenRückblick - House Of ListsRückblick - Elements Of Freedom13Bestandsverwaltungssystem
ProjektübersichtArtikel hinzufügen2Dictionaries Teil 1
Was ist ein Dictionary?Ein Dictionary erstellenZugriff auf WerteDictionaries ändernRückblick – Rezept-Manager5Fortgeschrittene Entscheidungsfindung
Ternärer OperatorZugehörigkeitsprüfungenIdentitätsprüfungenEinrückungsfehlerZusammenfassung - Urlaubsfilter8Studenten-Datenverwaltung
ProjektübersichtStudent hinzufügen11Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Recap Challenge – Lambda SortRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Recap – Verschachtelte Listen summieren14Funktionen höherer Ordnung
Die Map-FunktionDie Filter-FunktionWiederholung – E-Mail-ValidatorWiederholung – Zahlenprozessor3Dictionaries Teil 2
Dictionary-MethodenVerschachtelte DictionariesKeys überprüfenDictionaries durchlaufenZusammenfassung – Häufigkeitszähler9Fortgeschrittene Datenaggregation
Verwendung von SumMinimum und Maximum findenDaten effizient sortierenRückblick - Dictionary Sorter12Grundlagen der Fehlerbehandlung
Was ist Fehlerbehandlung?Der Try- und Except-BlockBehandlung mehrerer ExceptionsRückblick – Warenkorb-Fehler