# Python list slice | Get specific sets of sub-elements Array

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.

This site uses Akismet to reduce spam. Learn how your comment data is processed.