Следующая проблема может немного сбивать с толку, но я постараюсь объяснить ее как можно лучше.
Давайте предположим, что мы работаем на производственную компанию. Который производит компоненты, которые затем используются для производства продуктов. В следующем примере 3 компонента и 2 конечных продукта.
требует компонентов и продуктов:
comp1 = 7
comp2 = 3
comp3 = 4
prod1 = 2
prod2 = 1
prod3 = 0
Что можно сохранить в словаре:
clst = {"comp": [comp1, comp2, comp3], "prod": [prod1, prod2, prod3]}
С другой стороны, для изготовления конечного продукта требования к компонентам следующие:
prod1 нужно: 2 комп1, 1 комп2, 1 комп3
prod2 нужно: 3 комп1, 1 комп2, 2 комп3
prod3 нужно: 2 комп1, 2 комп2, 2 комп3
В словаре:
rprod = {0: [2,1,1], 1: [3,1,2], 2: [2,2,2]}
Мне нужно получить ожидаемый результат:
lst= [
[1, 1, 1, 1, 1, 1, 1, -2, -2, -3],
[1, 1, 1, -1, -1, -1],
[1, 1, 1, 1, -1, -1, -2]
]
Логика за выводом:
В основном списке есть 3 подсписка, потому что есть 3 компонента. Идея состоит в том, что каждый подсписок представляет входные данные и потребление для типа компонента
Ввод : первые элементы подсписка соответствуют единицам произведенных компонентов. Количество раз, соответствующее требованию компонента, должно быть записано «1».
Пример : Давайте посмотрим список для comp1 (первый подсписок), мы знаем, что требование Comp1 равно 7, поэтому подсписок должен начинаться следующим образом:
Ввод = [1, 1, 1, 1, 1, 1, 1]
Потребление : Теперь нам нужно включить требования к продукту в подсписок, но они вместо добавления (+), потребления (-). Требования к продукции:
prod1 = 2
prod2 = 1
prod3 = 0
мы также знаем, что продукт потребляет:
rprod = {0: [2,1,1], 1: [3,1,2], 2: [2,2,2]}
key 0 = prod 1
key 1 = prod 2
key 2 = prod 3
Пример : список потребления comp1 для продуктов будет:
Consumption = [-2, -2, -3]
, что равно [rprod[0][0], rprod[1][0], rprod[2][0]]
Итак, в конечном итоге подсписком для comp1 будет Input + Consuption:
[1, 1, 1, 1, 1, 1, 1, -2, -2, -3]
Есть предложения по составлению списка?