LocalSolver logo
is now
Hexaly logo

We're excited to share that we are moving forward. We're leaving behind the LocalSolver brand and transitioning to our new identity: Hexaly. This represents a leap forward in our mission to enable every organization to make better decisions faster when faced with operational and strategic challenges.


LSArray Class

class localsolver.LSArray

Value type for array expressions.

Such a value is obtained with LSExpression.value when the expression is an array. An array can contain numbers (int, double), other LSArray (for multi-dimensional arrays) or LSCollection (list, set).

Arrays are not decisions and cannot be modified.

Since:

7.5

See:

LSModel

See:

LSExpression

See:

LSOperator.ARRAY

Summary

Methods

count

Returns the number of values in the collection.

is_bool

Returns true if the value at the given position is a boolean.

is_int

Returns true if the value at the given position is an integer.

is_double

Returns true if the value at the given position is a double.

is_interval

Returns true if the value at the given position is an interval.

is_array

Returns true if the value at the given position is an array.

is_collection

Returns true if the value at the given position is a collection (list or set).

is_undefined

Returns true if the value at the given position is undefined.

get

Gets the value at the given position.

Special methods

__str__

Returns a string representation of the values in the array in the format { val0, val1, ..., valN }ReturnsString representation of this array.

__getitem__

Operator overloading for LSArray.get().

__len__

Returns the length of the array (same result as LSArray.count()).

__iter__

Returns an iterator for the content of this array.

Instance methods

LSArray.count()

Returns the number of values in the collection. Elements in arrays are indexed from 0 to count()-1.

Returns:

Number of values in this LSCollection

Return type:

int

LSArray.is_bool(pos)

Returns true if the value at the given position is a boolean. You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is a boolean.

Return type:

bool

LSArray.is_int(pos)

Returns true if the value at the given position is an integer. You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is an integer.

Return type:

bool

LSArray.is_double(pos)

Returns true if the value at the given position is a double. You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is a double.

Return type:

bool

LSArray.is_interval(pos)

Returns true if the value at the given position is an interval. You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is an interval.

Return type:

bool

LSArray.is_array(pos)

Returns true if the value at the given position is an array. You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is an array.

Return type:

bool

LSArray.is_collection(pos)

Returns true if the value at the given position is a collection (list or set). You can retrieve the value with get() or with the special overloaded operator __getitem__().

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is a collection.

Return type:

bool

LSArray.is_undefined(pos)

Returns true if the value at the given position is undefined. A value can be undefined in 4 cases:

  • It is a a double and its value is NaN (Not a Number).

  • It is an integer or boolean with no valid value (arithmetic or out of bounds exception).

  • It is an interval with at least one undefined bound.

  • It is the result of any ill-defined operation (at with out of bounds index or operations on undefined values for instance).

Parameters:

pos (int) – Position of the value to query.

Returns:

True if the value at the given position is undefined.

Return type:

bool

LSArray.get(pos)

Gets the value at the given position. The type of the returned value can be a boolean, an integer, a double, a LSInterval, a LSArray or a LSCollection.

Parameters:

pos (int) – Position of the value to query.

Returns:

Value at the given position

Return type:

bool, int, double, LSInterval, LSArray or LSCollection.

Special operators and methods

LSArray.__str__()

Returns a string representation of the values in the array in the format { val0, val1, ..., valN }

Returns:

String representation of this array.

Return type:

str

LSArray.__getitem__(pos)

Operator overloading for LSArray.get().

LSArray.__len__()

Returns the length of the array (same result as LSArray.count()).

LSArray.__iter__()

Returns an iterator for the content of this array.