将结构字段存储到向量中

Storing a structure field into a vector

我有代码可以使用 Google-OR Solver 解决 Python 中的赋值问题。由于我是 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()' 

单个向量中的值并仅打印这些值

使用 list comprehension 获取 assignment.RightMate()

的所有值
assignment_list = [assignment.RightMate(i) for i in range(assignment.NumNodes()]

对于工人,您只需:

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

说明

列表理解等效于以下 for 循环(这是执行此操作的另一种方法):

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

注意 range() 默认从 0 开始,所以:

range(0, X) is equivalent to range(X)