CSV и JSON · 12 из 13
Слияние прайсов поставщиков
Задействованы также: Словари, Вложенные структуры
Три поставщика присылают прайсы в JSON, каждый со своими полями. Вере нужен один прайс: где товар есть у нескольких, берётся тот, что дешевле, а недостающие поля добираются из остальных.
Что сделать
Слейте прайсы трёх поставщиков в один — по каждому товару лучшая цена и все известные поля.
Что приходит
praysy— список прайсов; каждый — словарь «артикул → объект», у объекта есть"цена", остальные поля свои
Что вернуть
Словарь «артикул → объект» по алфавиту артикулов: цена наименьшая, поля — из прайса с ней, недостающие — из прочих по порядку.
Допишите функцию slit_praysy в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
У первого поставщика A1 стоит 100 и называется «кофе», у второго — 90 и весит 250. Берём 90 и вес от второго, а название добираем у первого: {"A1": {"цена": 90, "вес": 250, "название": "кофе"}}.
slit_praysy([{'A1': {'цена': 100, 'название': 'кофе'}}, {'A1': {'цена': 90, 'вес': 250}}])
{'A1': {'цена': 90, 'вес': 250, 'название': 'кофе'}}
Функция принимает список разобранных прайсов. Каждый — словарь «артикул: объект», у объекта обязательно есть «цена» (число), а остальные поля произвольны. Возвращает словарь «артикул: объект»: цена — наименьшая из встреченных; остальные поля — из прайса с наименьшей ценой, а недостающие добираются из прочих в порядке списка; объект без числовой цены пропускается целиком. Порядок артикулов — по алфавиту.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.