jax.numpy.index_exp = <numpy.lib.index_tricks.IndexExpression object>

A nicer way to build up index tuples for arrays.


Use one of the two predefined instances index_exp or s_ rather than directly using IndexExpression.

For any index combination, including slicing and axis insertion, a[indices] is the same as a[np.index_exp[indices]] for any array a. However, np.index_exp[indices] can be used anywhere in Python code and returns a tuple of slice objects that can be used in the construction of complex index expressions.


maketuple (bool) – If True, always returns a tuple.

See also


Predefined instance that always returns a tuple: index_exp = IndexExpression(maketuple=True).


Predefined instance without tuple conversion: s_ = IndexExpression(maketuple=False).


You can do all this with slice() plus a few special objects, but there’s a lot to remember and this version is simpler because it uses the standard array indexing syntax.


>>> np.s_[2::2]
slice(2, None, 2)
>>> np.index_exp[2::2]
(slice(2, None, 2),)
>>> np.array([0, 1, 2, 3, 4])[np.s_[2::2]]
array([2, 4])