As you know Python List is a collection that is ordered and changeable. if you don’t know then you must read the first Python List tutorial. Python List Slicing is a way to get a range of items in a list.
Note: List are index from 0 to size-1, with a step of 1.
Syntax
A syntax is where to start the slicing, where to end and specify the step.
list[start:stop:step]
Python list slice Examples
Let’s do multiple example of it.
1. Basic Example
Let’s do the basic example of list slicing.
L = ['a', 'b', 'c', 'd'] print(L[2:3])
Output: [‘c’]
2. Slice with Negative Indices
Example of passing negative indices while slicing a list.
L = ['a', 'b', 'c', 'd'] print(L[-7:-2])
Output: [‘a’, ‘b’]
3. Slice with Positive & Negative Indices
Using positive and negative indices at the same time in slice function.
L = ['a', 'b', 'c', 'd'] print(L[1:-2])
Output: [‘b’]
4. Specify Step of the Slicing
The step parameter is optional and by default 1 and its used for specify the step.
L = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(L[2:9:2])
Output: [3, 5, 7, 9]
5. Slice List at Beginning & End in Python
Omitting the start index starts the slice from the index 0. Meaning, L[:stop]
is equivalent to L[0:stop]
L = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(L[:3])
Output: [1, 2, 3]
Q: How do Python slice list by value?
Answer: Use bisect
module as part of the standard library. See the below example for slice the list by value in python.
import bisect lst = [1, 3, 5, 6, 8, 9, 11, 13, 17] for val in range(19): pos = bisect.bisect_right(lst, val) print(val, '->', lst[max(0, pos - 3):pos])
Output:
Do comment if you have any suggestions and doubts on this tutorial.
Note:
IDE: PyCharm 2020.1.1 (Community Edition)
macOS 10.15.4
Python 3.7
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.