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.