【发布时间】:2018-06-24 03:51:17
【问题描述】:
以下问题可能有点令人困惑,但我会尽量以最好的方式解释它。
假设我们为一家制造公司工作。它制造的组件然后用于制造产品。在以下示例中,有 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 个 comp1、1 个 comp2、1 个 comp3
prod2 需要:3 个 comp1、1 个 comp2、2 个 comp3
prod3 需要:2 comp1、2 comp2、2 comp3
在字典中:
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 产品 2 = 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]
对列出清单有什么建议吗?
【问题讨论】:
-
我不明白预期输出背后的逻辑
-
也许你看完这个聊天就明白了chat.stackoverflow.com/rooms/173693/…
-
现在我无法接听聊天,因为我有 19 分而不是 20 分
-
现在你可以回答聊天了
-
有延迟,所以还是不能聊天
标签: python list for-loop if-statement