Использование агрегации данных
Часть раздела 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() находит максимальное значение в этом списке.
Задание
ЛегкоНапишите функцию sum_positive_evens, которая принимает список чисел в качестве входных данных. Используйте списковое включение (list comprehension) для фильтрации положительных четных чисел, а затем используйте sum() для вычисления их суммы. Верните результат.
Пример входных данных:
numbers = [-10, -5, 0, 2, 4, 7, 10, 12]Пример выходных данных:
28Попробуйте сами
def sum_positive_evens(numbers):
# Напишите здесь кодВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary SorterПотренируйтесь самостоятельно: Онлайн-компилятор Python