Python permite que os programadores criar objetos chamados listas para armazenar e recuperar vários itens quando convocados . Esses objetos são muito úteis , mas a maneira que Python lida com objetos e variáveis cria algumas armadilhas que ambos os novatos e programadores intermediários deve estar ciente antes de se encontrar elementos de dados em suas listas a ser misteriosamente sobrescritos com outros dados. Lista de objetos listas Python
do Python se comporta mais como objeto ArrayList de Java do que uma matriz convencional. O programador não tem de declarar o tamanho da matriz , quando ele cria -lo, e o interpretador Python vai aumentar automaticamente o tamanho da lista para acomodar mais entradas que o usuário anexos. Listas Python também são significativamente mais flexível do que outras estruturas de dados arraylike na medida em que pode conter diferentes objetos e tipos de dados variáveis ao mesmo tempo .
Python objetos
como matrizes em outras línguas , os programadores podem optar por colocar elementos dentro de uma lista Python , atribuindo diretamente os dados para um número determinado índice na lista. Ele faz isso com a "lista [n] = new -data" sintaxe onde " lista " é o nome do objeto lista, "n" é o número do elemento que o programador está atribuindo os dados , eo "novo -data " são os dados que o programador está atribuindo ao elemento da lista. Se houver dados no elemento do array , ele será substituído .
Classe Listas
Uma maneira que programadores Python acidentalmente substituir listas inteiras , ao invés de específico componentes, é quando eles declaram uma lista como uma lista de classe em vez de uma lista de método. Quando o interpretador Python instancia vários objetos a partir de uma declaração de classe , eles são independentemente funcional , e as mudanças nas variáveis de uma não afeta as variáveis do outro. No entanto , quando um programador declara uma lista de fora de qualquer método , que é uma lista de classes . Esta lista será comum a todos os objetos do intérprete faz a partir da declaração de classe , portanto as mudanças nesta lista de um objeto fará com que os seus valores a mudar em todos os outros objetos .
Corretamente Copiando Listas
um erro comum para programadores que vêm a partir de outras linguagens Python é a sintaxe " lista -copy = lista original" para fazer uma cópia de " lista original" chamada "lista de novo . " ; em Python , no entanto , isso leva a ambos " lista -copy " e " lista original" apontando para os mesmos valores na memória. Conseqüentemente, quando o programador altera os valores elemento em "List - cópia ", ele vai achar que suas mudanças substituiu o conteúdo original da " lista original" também. A sintaxe " lista -copy = list ( lista de originais ) " irá copiar o conteúdo de " lista original" de dados em " lista - cópia " sem mudanças em um afetar o outro .