Войти Создать аккаунт

Нарезка · Шаг 2 из 4

Отбор на лету

Из выгрузки на миллион строк бухгалтерии нужны обычно не все, а по одному городу или за один год. Отобрать их лучше по дороге: тогда и частей получится меньше, и лишнее не поедет через весь конвейер.

Что сделать

Отбирайте записи по условию прямо по дороге — чтобы лишнее не ехало через весь конвейер.

Что приходит

  • zapisi — поток записей, словари «колонка → значение»

  • uslovie — словарь «колонка → искомое значение»

Что вернуть

Генератор: отдаёт по одной записи, у которых каждая колонка из uslovie равна искомому; пустое условие пропускает всё; нет колонки — запись не подходит.

Допишите функцию otobrat в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Утилита ставит ваш отбор между чтением и нарезкой, если в командной строке задано --gde колонка=значение. Решите шаг — и в части попадут только нужные записи.

Перед вызовом
zapisi = [{"imya": "Анна", "gorod": "Тверь"},
          {"imya": "Борис", "gorod": "Омск"},
          {"imya": "Вера", "gorod": "Тверь"}]
Вызов
list(otobrat(zapisi, {"gorod": "Тверь"}))
Вернуть
[{'imya': 'Анна', 'gorod': 'Тверь'}, {'imya': 'Вера', 'gorod': 'Тверь'}]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.