过滤内容,
版本
文本搜索
理解和生成器表达式列表
列表理解和生成器表达式是重要的Python特性,允许您做隐式枚举简洁的方式。给一个简单的例子,下面的列表理解构建一个列表包含数字从1到5的平方:
gurobi > [x * x x [1、2、3、4、5]] (1、4、9、16、25)生成器表达式非常相似,但它是用来生成一个
Iterable
可以遍历(的东西)。例如,假设我们要计算的平方和的数字从1到5。我们可以使用列表理解构建列表,然后通过这个列表总和
。然而,它更简单,更有效率的使用生成器表达式:gurobi >总和(x * x x [1、2、3、4、5]) 55生成器表达式可以使用当一个方法接受一个
Iterable
可以遍历参数(的东西)。例如,大多数Python接受的方法列表
参数(最常见的一种Iterable
)也将接受一个生成器表达式。请注意,有一个Python程序创建一个连续的整数列表:范围
。上面通常会写如下:
gurobi >总和(x * x x的范围(1,6))细节上的
范围
函数可以被发现在这里。列表理解和生成器表达式可以包含不止一个为
子句和一个或多个如果
条款。下面的示例构建元组包含所有的列表x, y
对的地方x
和y
都是小于4x
小于y
:
gurobi > [x (x, y)范围(4)y的范围(4)如果x < y] [(0, 1), (0, 2), (0, 3), (1、2), (1,3), (2, 3)]请注意,
为
语句执行从左到右,从一个可用于下一个值,因此更有效的方式上面写的是:gurobi > [x (x, y)范围(4)y的范围(x + 1, 4)]
Python生成器表达式是广泛使用在我们的示例中,主要的上下文addConstrs
方法。