MANIPULANDO LISTAS ATRAVÉS DE FATIAS

 Podemos trabalhar com grupos dentro de uma lista utilizando fatias (slices).
O procedimento é simples: basta especificar a posição (índice) do primeiro e do último elemento que se deseja manipular.

nome_da_lista[primeira_posição:última_posição]
 

Podemos armazenar essa fatia em uma variável, se desejarmos. 

Regras básicas de fatiamento:

Se uma posição for omitida, o Python assume o início ou o fim da lista automaticamente:

[:posição]   # começa no início da lista e termina na posição indicada
[posição:]   # começa na posição indicada e vai até o final da lista

Também é possível utilizar índices negativos, que indicam posições a partir do final da lista:

[-posição:]  # devolve elementos a uma determinada distância do fim da lista
 

Exemplo:

[-3:]  # Retorna os últimos 3 elementos da lista


 Essa forma de fatiamento continua funcionando mesmo que a lista seja modificada. 

PERCORRENDO UMA FATIA COM LAÇO

lista = ['primeiro', 'segundo', 'terceiro']
for nova_lista in lista[0:3]:
    print(nova_lista)


Saída: 

primeiro
segundo
terceiro

COPIANDO LISTAS

Também é possível copiar uma lista usando uma fatia que omite os índices.
Assim, a nova lista conterá todos os elementos da lista original: 

 lista_copia = lista[:]

Atenção a um erro comum:

lista_01 = [...]
lista_02 = [...]

lista_01 = lista_02

 

Nesse caso, não há cópia real. As duas variáveis passam a apontar para a mesma lista na memória.
Ou seja, qualquer modificação feita em uma delas afetará a outra. 

 RESUMO DO CONTEÚDO EM CÓDIGO

lista = ['um','dois','tres','quatro','cinco','seis','sete','oito','nove','dez']

lista_01 = lista[0:4]
lista_02 = lista[4:]

print(lista_01)
# ['um', 'dois', 'tres', 'quatro']

print(lista_02)
# ['cinco', 'seis', 'sete', 'oito', 'nove', 'dez']

for item in lista[:]:
    print(item)


Saída: 

 um
dois
tres
quatro
cinco
seis
sete
oito
nove
dez

Exemplo de nova fatia:

listagem = lista[1:9]
print(listagem) # ['dois', 'tres', 'quatro', 'cinco', 'seis', 'sete', 'oito', 'nove']

 

 

 

 

Comentários