Python List sovrascrittura

August 16

Python List sovrascrittura


Python consente ai programmatori di creare oggetti chiamati liste per memorizzare e richiamare le voci multiple quando chiamati. Questi oggetti sono molto utili, ma il modo in cui Python gestisce gli oggetti e le variabili crea alcune insidie ​​che sia per i principianti e programmatori intermedi devono essere consapevoli prima di trovare elementi di dati presenti nei loro elenchi che sono misteriosamente sovrascritti con altri dati.

liste Python

elenco di oggetti di Python si comporta più come oggetto ArrayList di Java di quanto non faccia una matrice convenzionale. Il programmatore non deve dichiarare la dimensione dell'array quando lo crea, e l'interprete Python aumenterà automaticamente le dimensioni della lista di ospitare più voci che l'utente aggiunge. liste Python sono anche molto più flessibile di altre strutture di dati arraylike in quanto possono contenere diversi oggetti e tipi di dati variabili contemporaneamente.

Python oggetti

Come gli array in altre lingue, i programmatori possono scegliere di posizionare gli elementi all'interno di una lista Python assegnando direttamente i dati a un determinato numero di indice nella lista. Lo fa con la sintassi "lista [n] = new-dati" dove "lista" è il nome dell'oggetto lista, "n" è il numero di elemento il programmatore sta assegnando i dati da, e "new-dati" è i dati il ​​programmatore sta assegnando all'elemento lista. Se ci sono dati nell'elemento matrice, verrà sovrascritto.

elenchi di Classe

Un modo che i programmatori Python sovrascrivere accidentalmente l'intera lista, piuttosto che specifiche componenti, è quando dichiarano una lista come una lista di classe invece di una lista di metodo. Quando l'interprete Python un'istanza più oggetti da una dichiarazione di classe, sono in modo indipendente funzionali, e cambiamenti nelle variabili di una non si verificheranno le variabili di un altro. Tuttavia, quando un programmatore dichiara una lista al di fuori di qualsiasi metodo, è un elenco di classe. Questo elenco sarà comune a ogni oggetto l'interprete fa dalla dichiarazione di classe, così i cambiamenti in questo elenco da un oggetto causerà i suoi valori di cambiare in ogni altro oggetto.

Correttamente Copia di liste

Un errore comune per i programmatori Python venire da un altro lingue è alla sintassi "lista-copy = list-originale" per fare una copia di "lista-originale" chiamato "new-list". In Python, tuttavia, questo porta a entrambi "lista-copy" e "lista-originale" indicando gli stessi valori in memoria. Di conseguenza, quando il programmatore cambia i valori degli elementi in "lista-copy", troverà che i suoi cambiamenti sovrascritto la contenuto originale di "lista-originale" pure. La sintassi "lista-copy = list (lista-originale)" copierà i dati contenuti in "lista-originale" in "lista-copia" senza cambiamenti di uno che interessano l'altra.