Gurobi tuple list. This is a sub-class of the Python list
class that is designed to efficiently support a usage pattern that is
quite common when building optimization models. In particular, if a
tuplelist is populated with a list of tuples, the
select function on this
class efficiently selects tuples whose values match specified values
in specified tuple fields. To give an example, the statement
l.select(1, '*', 5) would select all member tuples whose first
field is equal to '1' and whose third field is equal to '5'. The
'*' character is used as a wildcard to indicate that any value is
acceptable in that field.
You generally build tuplelist objects in the same way
you would build standard Python lists. For example, you
can use the += operator to append a new list of items to
an existing tuplelist, or the + operator to concatenate
a pair of tuplelist objects. You can also call the append,
extend, insert, pop, and remove functions.
To access the members of a tuplelist, you also use standard list
functions. For example, l[0] returns the first member of a
tuplelist, while l[0:10] returns a tuplelist
containing the first ten members. You can also use len(l) to
query the length of a list.
Note that tuplelist objects build and maintain a set of internal
data structures to support efficient select operations. If
you wish to reclaim the storage associated with these data structures,
you can call the clean
function.
A tuplelist is designed to store tuples containing scalar
values (int, float, string, ...). It may produce
unpredictable results with other Python objects, such as tuples of
tuples. Thus, you can store (1, 2.0, 'abc') in a
tuplelist, but you shouldn't store ((1, 2.0), 'abc').