Função built-in slice() do Python

Da documentação do Python 3

Retorna um objeto slice que representa o conjunto de índices especificado por range(start, stop, step). Os argumentos start e step são definidos como None por padrão. Objetos Slice têm atributos de dados somente leitura start, stop e step que meramente retornam os valores dos argumentos (ou seus padrões).

Introdução

A função slice() em Python retorna um objeto slice que pode ser usado para fatiar sequências como listas, tuplas ou strings. Um objeto slice representa um conjunto de índices especificado por start, stop e step.

Exemplos

furniture = ['table', 'chair', 'rack', 'shelf']

print(furniture[0:4])
print(furniture[1:3])
print(furniture[0:-1])
print(furniture[:2])
print(furniture[1:])
print(furniture[:])
['table', 'chair', 'rack', 'shelf']
['chair', 'rack']
['table', 'chair', 'rack']
['table', 'chair']
['chair', 'rack', 'shelf']
['table', 'chair', 'rack', 'shelf']

Fatiar a lista completa executará uma cópia:

spam = ['cat', 'bat', 'rat', 'elephant']
spam2 = spam[:]
print(spam2)

spam.append('dog')
print(spam)
print(spam2)
['cat', 'bat', 'rat', 'elephant']
['cat', 'bat', 'rat', 'elephant', 'dog']
['cat', 'bat', 'rat', 'elephant']