slice()
Syntax
slice(expr, from, to)
Extracts a substring, or sublist (based on the type of the result of the
expression under expr with starting index of from
, and ending at to
if
provided, or the end, if omitted. Can use negative indices to indicate counting
form the back of the list, so -1 <=> length(_)
.
Special case is made for iterators (range
, rect
etc), which does require
non-negative indices (negative from
is treated as 0
, and negative to
as
inf
), but allows retrieving parts of the sequence and ignore other parts. In
that case consecutive calls to slice
will refer to index 0
the current
iteration position since iterators cannot go back nor track where they are in
the sequence (see examples).
slice([0,1,2,3,4,5], 1, 3) => [1, 2]
slice('foobar', 0, 1) => 'f'
slice('foobar', 3) => 'bar'
slice(range(10), 3, 5) => [3, 4]
slice(range(10), 5) => [5, 6, 7, 8, 9]
r = range(100); [slice(r, 5, 7), slice(r, 1, 3)] => [[5, 6], [8, 9]]