gurobipy.tuplelist#
- class tuplelist#
Gurobi 元组列表。这是 Python
list
类的一个子类,旨在高效支持在构建优化模型时非常常见的使用模式。特别是,如果tuplelist
填充了一个元组列表,该类上的select
函数可以高效地选择其值在指定元组字段中匹配指定值的元组。举个例子,语句l.select(1, '*', 5)
将选择所有第一个字段等于‘1’且第三个字段等于‘5’的成员元组。'*'
字符用作通配符,表示该字段可以接受任何值。你通常以构建标准Python列表的方式构建
tuplelist
对象。例如,你可以使用+=
操作符将新项目列表附加到现有的tuplelist
,或者使用+
操作符连接一对tuplelist
对象。你也可以调用append
、extend
、insert
、pop
和remove
函数。要访问
tuplelist
的成员,你也可以使用标准的列表函数。例如,l[0]
返回tuplelist
的第一个成员,而l[0:10]
返回包含前十个成员的tuplelist
。你也可以使用len(l)
来查询列表的长度。请注意,
tuplelist
对象构建并维护一组内部数据结构,以支持高效的select
操作。如果您希望回收与这些数据结构相关的存储空间,可以调用clean
函数。一个
tuplelist
被设计用来存储包含标量值的元组 (int
,float
,string
, …)。它可能会在使用其他Python对象时产生不可预测的 结果,例如元组的元组。因此,你 可以在tuplelist
中存储(1, 2.0, 'abc')
,但你不应该 存储((1, 2.0), 'abc')
。- tuplelist(list)#
元组列表构造函数。
- Parameters:
list – 成员元组的初始列表。
- Returns:
一个元组列表对象。
- Example:
l = gp.tuplelist([(1,2), (1,3), (2,4)]) l = gp.tuplelist([('A', 'B', 'C'), ('A', 'C', 'D')])
- select(pattern)#
返回一个包含所有匹配指定模式的成员元组的
tuplelist
。该模式要求为成员元组中的每个字段提供一个参数。标量参数必须与相应字段完全匹配。如果列表参数中的任何成员与相应字段匹配,则列表参数匹配。'*'
参数匹配相应字段中的任何值。- Parameters:
pattern – 用于匹配成员元组的模式。
- Example:
l.select(1, 3, '*', 6) l.select([1, 2], 3, '*', 6) l.select('A', '*', 'C')
- clean()#
丢弃与
tuplelist
对象关联的内部数据结构。 请注意,调用此例程不会影响tuplelist
的内容。它只会影响内存使用和后续调用select
的性能。- Example:
l.clean()
- __contains__(val)#
为Python的
in
操作符提供高效支持。- Example:
if (1,2) in l: print("Tuple (1,2) is in tuplelist l")