Menu
Coddy logo textTech

Używanie agregacji danych

Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 53 z 78.

Składanie list zapewnia zwięzły sposób tworzenia nowych list na podstawie istniejących obiektów iterowalnych. Możesz bezpośrednio używać funkcji agregujących dane, takich jak sum(), min() i max(), w składaniu list, aby wykonywać obliczenia na elementach nowej listy podczas jej tworzenia.

Obliczanie sumy kwadratów:

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

W tym przykładzie składnia listowa [n * n for n in numbers] tworzy listę kwadratów, a funkcja sum() oblicza sumę tych kwadratów.

Znajdowanie minimum przekształconych wartości:

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

W tym przypadku składanie listy [abs(n) for n in numbers] tworzy listę wartości bezwzględnych, a funkcja min() znajduje najmniejszą wartość na tej liście.

Znajdowanie maksimum przefiltrowanych wartości:

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

W tym przykładzie składnia listowa [n for n in numbers if n % 2 == 0] tworzy tablicę liczb parzystych, a funkcja max() znajduje największą wartość w tej tablicy.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję sum_positive_evens, która przyjmuje listę liczb jako dane wejściowe. Użyj składni list comprehension, aby odfiltrować dodatnie liczby parzyste, a następnie użyj sum(), aby obliczyć ich sumę. Zwróć wynik.

Przykładowe dane wejściowe:

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

Przykładowy wynik:

28

Spróbuj swoich sił

def sum_positive_evens(numbers):
    # Napisz kod tutaj
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Python online