Menu
Coddy logo textTech

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 in new_list aufgenommen werden soll. Dies kann eine modifizierte Version von item sein.
  • for item in iterable: Eine Schleife, die über jedes Element in dem iterable (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 aktuelle item in new_list aufgenommen werden soll. Der expression wird nur ausgewertet, wenn die condition True ist.

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).

challenge icon

Aufgabe

Einfach

Erstellen 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 soll
  • for item in iterable: Schleife über jedes Element
  • if 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 schreiben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logic & Flow