Menu
Coddy logo textTech

Использование агрегации данных

Часть раздела Logic & Flow путешествия по Python на Coddy. Урок 53 из 78.

Генераторы списков предоставляют краткий способ создания новых списков на основе существующих итерируемых объектов. Вы можете интегрировать функции агрегации данных, такие как sum(), min() и max(), непосредственно внутри генераторов списков для выполнения вычислений над элементами нового списка в процессе его создания.

Вычисление суммы квадратов:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# Результат: 55

В этом примере списковое включение [n * n for n in numbers] создает список квадратов, а функция sum() вычисляет сумму этих квадратов.

Поиск минимума преобразованных значений:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# Вывод: 0

Здесь списковое включение [abs(n) for n in numbers] создает список абсолютных значений, а функция min() находит минимальное значение в этом списке.

Поиск максимума среди отфильтрованных значений:

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

В этом примере списковое включение [n for n in numbers if n % 2 == 0] создает список четных чисел, а функция max() находит максимальное значение в этом списке.

challenge icon

Задание

Легко

Напишите функцию sum_positive_evens, которая принимает список чисел в качестве входных данных. Используйте списковое включение (list comprehension) для фильтрации положительных четных чисел, а затем используйте sum() для вычисления их суммы. Верните результат.

Пример входных данных:

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

Пример выходных данных:

28

Попробуйте сами

def sum_positive_evens(numbers):
    # Напишите здесь код
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Logic & Flow

Потренируйтесь самостоятельно: Онлайн-компилятор Python