List slicing examples in Python
Environment and Prerequisite
- Python(3.X)
What is Python slicing?
Slicing
orSlice
: refers the method and notation of importing objects by specifying a range of sequential objects (such as lists, tuples, strings).- Slicing makes new objects. Easily say, copy some portion of objects.
Basic Usage and Form
Basic Form
- Consider there is sequential objects data structure(example: list, tuple, string) which name is
a
. Its basic form of slicing is like below.
a[start : end : step]
- Each
start
,end
,step
can have both positive or negative number. start
: Start point of slicing.end
: End point of slicing. Note that it does not include end point!step
: Also known as stride, determine moving steps of import and direction. It is an option. Check below examples for your understanding.
Position of Indices Values
- Like explained above, it can have
Positive
orNegative
number. Positive Number
: It starts number 0 from the front of data structure and goes forward by increasing the index.Negative Number
: It starts number -1 from back of data structure and goes backward by decreasing the index.- Below shows example of indices values in list
['a', 'b', 'c', 'd', 'e']
.
a = ['a', 'b', 'c', 'd', 'e']
// Index References
-------------------------------
| a | b | c | d | e |
-------------------------------
| 0 | 1 | 2 | 3 | 4 | // In case of positive number
-------------------------------
| -5 | -4 | -3 | -2 | -1 | // In case of negative number
-------------------------------
Example
- All examples are base on list
a = ['a', 'b', 'c', 'd', 'e']
.
Import from specific start point to end
a[ start : ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 1 : ]
['b', 'c', 'd', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -3 : ]
['c', 'd', 'e']
Import from start point to specific end point
a[ : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : 2 ]
['a', 'b']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : -1 ]
['a', 'b', 'c', 'd']
Import from a specific point to a specific point
a[ start : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 2 : 4 ]
['c', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -4 : -2 ]
['b', 'c']
>>> a = ['a', 'b', 'c', 'd', 'e']
# get values of index from 1 to 3 in reverse
>>> a[ 3 : 0 : -1]
['d', 'c', 'b']
Example of step
a[ start : end : step ]
- If
step
is positive: Get value per size of ‘step’ while moving to right. - If
step
is negative: Get value per size of ‘step’ while moving to left.
>>> a = ['a', 'b', 'c', 'd', 'e']
# get value while moving 2 steps.
>>> a[ : : 2 ]
['a', 'c', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
# get value while moving 3 steps.
>>> a[ -5 : : 3 ]
['a', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
# get all in reverse.
>>> a[ : : -1 ]
['e', 'd', 'c', 'b', 'a']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 3 : : -1 ]
['d', 'c', 'b', 'a']