Сохранение поля структуры в вектор - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть код, который решает проблему назначения в Python с помощью Google-OR Solver. Поскольку я новичок в Python, мне нужна помощь в хранении переменных в обычной векторной форме, а не в сложной форме структурного поля.

for i in range(0, assignment.NumNodes()):
    print('Worker %d assigned to task %d.  Cost = %d' % (i,assignment.RightMate(i), assignment.AssignmentCost(i)))

что я хочу сделать, я просто хочу два массива 'Workers' и 'Task'. Для работников Очевидно, что это будет 0 к последнему, но мне также нужен вектор индексов задач. Как мне сохранить эти

'assignment.RightMate()' 

значения в одном векторе и распечатать только эти значения

1 Ответ

1 голос
/ 26 апреля 2020

Использование списка понимания для получения всех значений присвоения .RightMate ()

assignment_list = [assignment.RightMate(i) for i in range(assignment.NumNodes()]

Для работников у вас просто есть:

worker_list = list(range(assignment.NumNodes()))

Пояснение

Понимание списка эквивалентно следующему для l oop (который является альтернативным способом сделать это):

assignment_list = []
for i in range(assignment.NumNodes()):
  assignment_list.append(assignment.RightMate(i))

Примечание range () начинается с 0 по умолчанию так:

range(0, X) is equivalent to range(X)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...