def merge(self, lengths, demands): problem = Problem(stockLength=self.descriptors.stockLength) for i, length in enumerate(lengths): if i == len(lengths) - 1 or length != lengths[i + 1]: order = Order(length, demands[i]) problem.addOrder(order) else: demands[i + 1] += demands[i] return problem