Resumo : neste tutorial, você aprenderá sobre o list slice do Python e como usá-lo para manipular listas de maneira eficaz.
Introdução à notação de fatia de lista Python
As listas suportam a notação de fatia que permite obter uma sublista de uma lista:
sub_list = list[begin: end: step]
Linguagem de código: Python ( python )
Nesta sintaxe, os begin
argumentos end
, e step
devem ser índices válidos. E são todos opcionais.
O begin
índice padrão é zero. O end
índice padrão é o comprimento da lista. E o step
índice padrão é 1.
A fatia começará de begin
cima para baixo end
na etapa de step
.
Os begin
, end
, e step
podem ser positivos ou negativos. Os valores positivos dividem a lista do primeiro ao último elemento, enquanto os valores negativos cortam a lista do último ao primeiro elemento.
Além de extrair uma sublista, você pode usar a fatia da lista para alterar a lista, como atualizar, redimensionar e excluir uma parte da lista.
Exemplos de fatias de lista Python
Vejamos alguns exemplos de uso da fatia da lista.
1) Exemplo básico de fatia de lista Python
Suponha que você tenha a seguinte lista de strings:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
Linguagem de código: Python ( python )
O exemplo a seguir usa a fatia da lista para obter uma sublista da colors
lista:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[1:4]
print(sub_colors)
Linguagem de código: Python ( python )
Saída:
['orange', 'yellow', 'green']
Linguagem de código: Python ( python )
O begin
índice é 1, então a fatia começa na 'orange'
cor. O end
índice é 4, portanto, o último elemento da fatia é 'green'
.
Como resultado, a fatia cria uma nova lista com três cores: ['orange', 'yellow', 'green']
.
Este exemplo não usa step
, portanto a fatia obtém todos os valores dentro do intervalo sem pular nenhum elemento.
2) Usando Python List slice para obter os n primeiros elementos de uma lista
Para obter os n primeiros elementos de uma lista, você omite o primeiro argumento:
list[:n]
Linguagem de código: Python ( python )
O exemplo a seguir retorna uma lista que inclui os três primeiros elementos da lista de cores:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[:3]
print(sub_colors)
Linguagem de código: Python ( python )
Saída:
['red', 'orange', 'yellow']
Linguagem de código: Python ( python )
Observe que the colors[:3]
é equivalente a color[0:3]
.
3) Usando a fatia da lista Python para obter os n últimos elementos de uma lista
Para obter os n últimos elementos de uma lista, você usa os índices negativos.
Por exemplo, o seguinte retorna uma lista que inclui os três últimos elementos da colors
lista:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[-3:]
print(sub_colors)
Linguagem de código: Python ( python )
Saída:
['blue', 'indigo', 'violet']
Linguagem de código: Python ( python )
4) Usando Python List slice para obter cada enésimo elemento de uma lista
O exemplo a seguir usa the step
para retornar uma sublista que inclui cada segundo elemento da lista de cores:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[::2]
print(sub_colors)
Linguagem de código: Python ( python )
Saída:
['red', 'yellow', 'blue', 'violet']
Linguagem de código: Python ( python )
5) Usando Python List slice para reverter uma lista
Quando você usa uma etapa negativa, a fatia inclui a lista de elementos começando do último elemento até o primeiro elemento. Em outras palavras, inverte a lista. Veja o exemplo a seguir:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
reversed_colors = colors[::-1]
print(reversed_colors)
Linguagem de código: Python ( python )
Saída:
['violet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red']
Linguagem de código: Python ( python )
6) Usando Python List slice para substituir parte de uma lista
Além de extrair uma parte de uma lista, a fatia da lista permite alterar o elemento da lista.
O exemplo a seguir altera os dois primeiros elementos da lista de cores para os novos valores:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
colors[0:2] = ['black', 'white']
print(colors)
Linguagem de código: Python ( python )
Saída:
['black', 'white', 'yellow', 'green', 'blue', 'indigo', 'violet']
Linguagem de código: Python ( python )
7) Usando a fatia da lista Python para substituir e redimensionar parcialmente uma lista
O exemplo a seguir usa a fatia da lista para substituir o primeiro e o segundo elementos pelos novos e também adicionar um novo elemento à lista:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
print(f"The list has {len(colors)} elements")
colors[0:2] = ['black', 'white', 'gray']
print(colors)
print(f"The list now has {len(colors)} elements")
Linguagem de código: Python ( python )
Saída:
The list has 7 elements
['black', 'white', 'gray', 'yellow', 'green', 'blue', 'indigo', 'violet']
The list now has 8 elements
Linguagem de código: Python ( python )
8) Usando fatia de lista Python para excluir elementos
A seguir mostra como usar a fatia da lista para excluir o terceiro, o quarto e o quinto elementos da colors
lista:
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
del colors[2:5]
print(colors)
Linguagem de código: Python ( python )
Saída:
['red', 'orange', 'indigo', 'violet']
Linguagem de código: Python ( python )
Resumo
- Use uma fatia de lista para extrair uma sublista de uma lista e modificar a lista.