Como dividir uma lista do Python usando a notação de fatia das listas do python

Resumo: neste tutorial, você aprenderá como fatiar uma lista do python e como usá-lo para manipular listas de forma eficaz.

Introdução à notação de fatia de lista do Python

As listas suportam a notação de fatia que permite obter uma sublista de uma lista:

sub_list = list[begin: end: step]

Nesta sintaxe, os argumentos begin, end e step devem ser índices válidos. E são todos opcionais.

O padrão do índice begin é zero. O padrão do índice end é o comprimento da lista. E o padrão do índice step é 1.

A fatia começará de begin até abaixo de end no passo de step.

begin, end, e step podem ser positivo ou negativo. Valores positivos dividem a lista do primeiro elemento ao último elemento, enquanto valores negativos dividem a lista do último elemento ao primeiro elemento.

Além de extrair uma sublista, você pode usar a fatia da lista para alterar a lista, como atualização, redimensionamento e exclusão de uma parte da lista.

Exemplos de fatias da lista do Python

Vamos dar alguns exemplos de uso da fatia de lista.

1) Exemplo de fatia de lista básica do Python

Suponha que você tenha a seguinte lista de strings:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']

O exemplo a seguir usa a fatia da lista para obter uma sublista da lista colors:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[1:4]

print(sub_colors)

Saída:

['orange', 'yellow', 'green']

O índice begin é 1, então a fatia começa na cor 'orange'. O índice end é 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, então a fatia obtém todos os valores dentro do intervalo sem pular nenhum elemento.

2) Usando a notação de fatia das listas do python para obter os n primeiros elementos de uma lista

Para obter os n primeiros elementos de uma lista, omita o primeiro argumento:

list[:n]

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)

Saída:

['red', 'orange', 'yellow']

Observe que colors[:3] é equivalente a color[0:3].

3) Usando a notação de fatia das listas do 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 últimos 3 elementos da lista colors:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
sub_colors = colors[-3:]

print(sub_colors)

Saída:

['blue', 'indigo', 'violet']

4) Usando a notação de fatia das listas do python para obter todos os elementos de uma lista

O exemplo a seguir usa o parametro 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)

Saída:

['red', 'yellow', 'blue', 'violet']

5) Usando a notação de fatia das listas do python para inverter uma lista

Quando você usa um step negativo, a fatia inclui a lista de elementos começando do último ao primeiro elemento. Em outras palavras, inverte a lista. Veja o seguinte exemplo:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
reversed_colors = colors[::-1]

print(reversed_colors)

Saída:

['violet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red']

6) Usando a notação de fatia das listas do python 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 na lista de cores para os novos valores:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
colors[0:2] = ['black', 'white']

print(colors)

Saída:

['black', 'white', 'yellow', 'green', 'blue', 'indigo', 'violet']

7) Usando a notação de fatia das listas do python para substituir parcialmente e redimensionar 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")

Saída:

The list has 7 elements
['black', 'white', 'gray', 'yellow', 'green', 'blue', 'indigo', 'violet']
The list now has 8 elements

8) Usando a notação de fatia das listas do python para excluir elementos

Veja a seguir como usar a fatia da lista para excluir o 3º, 4º e 5º elementos da lista colors:

colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
del colors[2:5]

print(colors)

Saída:

['red', 'orange', 'indigo', 'violet']

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 *