Home//

Python List [-1], [:n], [-n:], [::-1] Explained

# Python List [-1], [:n], [-n:], [::-1] Explained

By Minh Vu

Updated Nov 01, 2023

You may see some code in Python like `list[-1]`, `list[:n]`, `list[-n:]`, or `list[::-1]`. What do they mean? In this article, we will learn more about this technique which is called list slicing.

In simple words, the meaning of those expressions is:

• `list[-1]`: get the last element of the list
• `list[:n]`: get the first `n` elements of the list
• `list[-n:]`: get the last `n` elements of the list
• `list[::-1]`: reverse the list

Keep reading to understand more how list slicing works.

## What is List Slicing?

In Python, list slicing is a technique to get a subset of a list using indices. The syntax is `list[start:end:step]` where:

• `start`: the index of the first element in the subset (inclusive), default to `0`
• `end`: the index of the last element in the subset (exclusive), default to `len(list)`
• `step`: the step size to get elements in the subset, default to `1`

For example, `numbers[1:10:3]` means to get all numbers from index `1` to `10` with a step size of `3`.

Let's make that example more clear.

list-slicing.py
``````numbers = [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]

print(numbers[1:10:3])
# Output: [1, 5, 9]
``````

We have a list `numbers` with 10 elements. So `numbers[1:10:3]` are elements at `1`, `4`, and `7` indices, which are `1`, `5`, and `9`, respectively.

## What Does list[-1] Mean?

`list[-1]` means to get the last element of the list. It is equivalent to `list[len(list) - 1]`.

list-slicing.py
``````numbers = [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]

print(numbers[-1])
# Output: 4
``````

## What Does list[:n] Mean?

`list[:n]` means to get the first `n` elements of the list. It is equivalent to `list[0:n]`.

If `n` is greater than the length of the list, it will return all elements of the list.

list-slicing.py
``````numbers = [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]

print(numbers[:3])
# Output: [2, 1, 0]
print(numbers[:0])
# Output: []
print(numbers[:100])
# Output: [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]
``````

## What Does list[-n:] Mean?

`list[-n:]` means to get the last `n` elements of the list. It is equivalent to `list[len(list) - n:]`.

list-slicing.py
``````numbers = [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]

print(numbers[-3:])
# Output: [9, 7, 4]
print(numbers[-5:])
# Output: [6, 8, 9, 7, 4]
``````

## What Does list[::-1] Mean?

`list[::-1]` means to reverse the list. It is equivalent to `list[len(list) - 1:0:-1]`.

Let's break it down:

• `len(list) - 1`: the index of the last element of the list
• `0`: the index of the first element of the list
• `-1`: the step size to get elements in the subset

So, in word, it means to go backward from the last element to the first element with a step size of `1`.

list-slicing.py
``````numbers = [2, 1, 0, 3, 5, 6, 8, 9, 7, 4]

print(numbers[::-1])
# Output: [4, 7, 9, 8, 6, 5, 3, 0, 1, 2]
``````

Minh Vu

Software Engineer

Hi guys, I'm the author of WiseCode Blog. I mainly work with the Elastic Stack and build AI & Python projects. I also love writing technical articles, hope you guys have good experience reading my blog!

Minh Vu

Software Engineer

### Related Posts

See All Posts

Do not find what you need?

Send us a message.