列出理解和生成器表达式
列出理解和生成器表达式
列表理解和生成器表达式是重要的Python功能,允许以简明的方式进行隐式枚举。要提供一个简单的示例,以下列表理解构建一个列表,其中包含从1到5的数字的正方形:
gurobi> [x * x在[1,2,3,4,5]] [1,4,9,16,25]生成器表达式非常相似,但它用于生成一个
迭代
(可以迭代的东西)。例如,假设我们希望从1到5中计算数字的正方形之和。我们可以使用列表理解来构建列表,然后通过该列表和
。但是,使用生成器表达式更简单,更有效:Gurobi> Sum(x * x在[1,2,3,4,5]中的x)55每当方法接受时都可以使用发电机表达式
迭代
参数(可以迭代的东西)。例如,大多数接受a的python方法列表
论证(最常见的类型迭代
)还将接受发电机表达式。请注意,有一个python例程来创建一个连续的整数列表:范围
。上述通常会如下写入:
Gurobi> Sum(x * x为x范围内(1,6))有关的详细信息
范围
可以找到功能这里。列表理解和生成表达式都可以包含多个为了
条款,一个或多个如果
条文。以下示例构建包含全部的元组列表X,Y.
在哪里X
和y
既不小于4和X
小于y
:
GuRobi> [(x,y)为x范围(4)的范围(4),如果x请注意 为了
左右执行语句,可以在下一步中使用从一个的值,因此更有效地写下上面的方法是:Gurobi> [(x,y)为x范围(4)范围内(x + 1,4)]发电机表达式在我们的Python示例中广泛使用,主要在于
addConst.
方法。