Aparentemente, Gurobipy pode ler o índice de uma compreensão de lista formulada entre parênteses de uma função. Como é que isso funciona? Esta formulação não deveria passar um objeto gerador para a função? Como você lê o índice disso?
md = gp.Model()
md.addConstrs(True for i in [1,2,5,3])
A saída contém os índices que foram usados na formulação de compreensão da lista:
{1: <gurobi.Constr *Awaiting Model Update*>,
2: <gurobi.Constr *Awaiting Model Update*>,
5: <gurobi.Constr *Awaiting Model Update*>,
3: <gurobi.Constr *Awaiting Model Update*>}
Não tenho certeza se entendi sua pergunta corretamente, mas se você está se perguntando como pode recuperar o iterador da expressão do gerador, acesse
<generator>.gi_frame.f_locals
.O
gi_frame
contém oframe
objeto que corresponde à expressão geradora e possui umf_locals
atributo que denota o namespace local visto por este quadro .Você pode até usar a API mais direta
inspect.getgeneratorlocals
.Mas por favor, observe que: