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
Postar um comentário