domingo, 13 de outubro de 2013

[Python] - Cópia de Listas

Olá pessoal, nesse post iremos falar de um recurso muito poderoso da linguagem Python que são as listas. Iremos falar mais especificamente de cópia de listas.

Veja o exemplo de código abaixo:

 

Você sabe dizer qual número será impresso? 

Bem, se você respondeu 10 então deve está em dia com os conhecimentos de listas em Python. Na linha 2 foi feita uma atribuição de objetos. Isso quer dizer que "lista_aux" está pegando a referência de "lista", ou seja, podemos acessar e modificar os valores de "lista" utilizando "lista_aux".

Dizemos que "lista_aux" é um apelido de "lista". Por que apelido? Porque temos duas variáveis referenciando, no caso desse exemplo, a mesma lista.

Isso pode causar confusão principalmente para quem é programador iniciante. Muito cuidado ao mexer com referências.

Pois bem, então se você não quer utilizar referências, mas sim fazer uma cópia de todos os elementos de "lista" para "lista_aux" e poder modificar "lista_aux" sem alterar "lista" basta utilizar o operador de fatiamento. Veja o exemplo de código:


O operador de fatiamento é um recurso bastante poderoso do Python. Na linha 2 utilizamos o operador de fatiamento com um detalhe: omitimos o inicio e o fim da fatia, com isso copiamos todos os elementos de "lista" para "lista_aux".

Fácil não é mesmo? Agora irá imprimir o número 1.


Nenhum comentário: