У меня есть код, который выглядит так:
if len_after > len_before:
# get resource demand of finish_act
r_finish_act = [d for a, d in zip(j_set, R) if a in finish_act]
# update available resources
for i in r_finish_act:
x = i[0]
avail_res[0] = avail_res[0] + x
else:
avail_res[0] = avail_res[0]
Цель этого кода - получить потребность в ресурсах для конечных sh действий (r_finish_act
) и добавить их в avail_res[0]
. Первое, что нужно проверить, - добавлено ли действие в finish_act
. Это делается с помощью if-statement
. После этого r_finish_act
получается с помощью j_set and R
.
j_set = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
R = [[0, 0], [4, 3], [2, 0], [2, 1], [0, 3], [1, 1], [1, 2], [2, 1], [0, 3], [2, 2], [0, 0]]
Например:
finish_act_before = [1]
avail_res[0] = 1
finish_act_after = [1, 2, 3]
r_finish_act = [[4, 3], [2, 0]]
Вывод приведенного выше кода:
avail_res[0] = 1 + 2 = 3
Ожидаемый результат:
avail_res[0] = 1 + 4 + 2 = 7
Как мог Я вношу это изменение для приведенного выше кода, так что все r_finish_act
действий, добавленные в finish_act
, будут добавлены к avail_res[0]
, а не только к последнему? Обратите внимание, что действия, которые необходимо завершить, различаются. Это может быть только одно действие, два и т. Д.
Любая помощь / предложения приветствуются! Спасибо!