【发布时间】:2021-02-22 13:25:21
【问题描述】:
我需要根据字典规定的优先关系创建一份工作列表。
dict_preced = {(1, 2): 0, (1, 3): 0, (2, 1): 1, (2, 3): 0, (3, 1): 1, (3, 2): 0}
Where (j1, j2) == 1 means that j1 requires j2, 0 otherwise.
假设我已经有了起始列表:j_seq = [3, 2, 1],我需要创建一个 new_list,其中 j_seq 中的所有值都将遵循优先关系,这意味着在所需的作业之前没有作业正在执行。 (即作业 3 和作业 2 不能在作业 1 之前执行)。
因此,有许多候选列表(即new_list = [1, 2, 3] 或new_list = [1, 3, 2])。
如何创建始终尊重这些优先关系的new_list 样本?
当每个值都需要尊重给定条件而不依赖于其他值时,我发现了许多列表理解示例。但是我没有找到任何例子,其中陈述的条件涉及同一个列表的两个值。
编辑:我不需要得到所有关于优先约束的排列,一个就足够了。
【问题讨论】:
-
在您给出的示例中,3 需要 2,2 需要 3。在这种情况下,您认为关系的偏好是什么?
标签: python list dictionary