Fatia de lista Python

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 beginargumentos end, e stepdevem 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 begincima para baixo endna etapa de step.

Os begin, end, e steppodem 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 colorslista:

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 colorslista:

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 steppara 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 elementsLinguagem 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 colorslista:

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *