Menu
Coddy logo textTech

Datenaggregation nutzen

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 53 von 78.

List Comprehensions bieten eine prägnante Möglichkeit, neue Listen auf der Grundlage bestehender Iterables zu erstellen. Sie können Datenaggregationsfunktionen wie sum(), min() und max() direkt in List Comprehensions integrieren, um Berechnungen an den Elementen der neuen Liste durchzuführen, während diese erstellt wird.

Berechnung der Summe der Quadrate:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# Ausgabe: 55

In diesem Beispiel erstellt die List Comprehension [n * n for n in numbers] eine Liste von Quadratzahlen, und die sum()-Funktion berechnet die Summe dieser Quadratzahlen.

Das Minimum von transformierten Werten finden:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# Ausgabe: 0

Hier erstellt die List Comprehension [abs(n) for n in numbers] eine Liste von Absolutwerten, und die min() Funktion findet den Minimalwert in dieser Liste.

Das Maximum von gefilterten Werten finden:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
print(max_even)
# Ausgabe: 6

In diesem Beispiel erzeugt die List Comprehension [n for n in numbers if n % 2 == 0] eine Liste mit geraden Zahlen, und die max() Funktion findet den Maximalwert in dieser Liste.

challenge icon

Aufgabe

Einfach

Schreibe eine Funktion sum_positive_evens, die eine Liste von Zahlen als Eingabe entgegennimmt. Verwende eine List Comprehension, um positive gerade Zahlen zu filtern, und verwende dann sum(), um deren Summe zu berechnen. Gib das Ergebnis zurück.

Beispielhafte Eingabe:

numbers = [-10, -5, 0, 2, 4, 7, 10, 12]

Beispielhafte Ausgabe:

28

Spickzettel

List Comprehensions können mit Aggregationsfunktionen wie sum(), min() und max() kombiniert werden, um Berechnungen auf transformierten oder gefilterten Daten durchzuführen.

Berechne die Summe der Quadrate:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
# Ausgabe: 55

Finde das Minimum der transformierten Werte:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
# Ausgabe: 0

Finde das Maximum der gefilterten Werte:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
# Ausgabe: 6

Probier es selbst

def sum_positive_evens(numbers):
    # Hier Code 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