Gurobipy 显然可以读取函数括号内制定的列表理解的索引。这是如何运作的?这个公式不应该将生成器对象传递给函数吗?您如何从中读取索引?
md = gp.Model()
md.addConstrs(True for i in [1,2,5,3])
输出包含列表理解公式中使用的索引:
{1: <gurobi.Constr *Awaiting Model Update*>,
2: <gurobi.Constr *Awaiting Model Update*>,
5: <gurobi.Constr *Awaiting Model Update*>,
3: <gurobi.Constr *Awaiting Model Update*>}
我不确定我是否正确理解你的问题,但如果你想知道如何从生成器表达式中检索迭代器,那么那就通过访问
<generator>.gi_frame.f_locals
.包含与生成器表达式相对应的对象
gi_frame
,它具有表示此框架所见的本地名称空间的属性。frame
f_locals
您甚至可以使用更直接的 API
inspect.getgeneratorlocals
。但请注意: