Come funzionano gli array e gli elenchi in Python

Come funzionano gli array e gli elenchi in Python / Programmazione

Le matrici e gli elenchi sono alcune delle strutture dati più utili nella programmazione, anche se poche persone li usano davvero al massimo delle loro potenzialità. Oggi ti parlerò delle nozioni di base, insieme ad alcuni semplici esempi di Python.

Prerequisiti

Non c'è molto che tu abbia bisogno di sapere in anticipo per imparare questi concetti. Una conoscenza di base dei paradigmi di programmazione e di Python sarà utile, ma non è richiesta. Leggi i nostri esempi Python di base 10 Esempi Python di base che ti aiuteranno ad imparare velocemente 10 esempi Python di base che ti aiuteranno ad imparare velocemente Questo articolo di esempi python di base è per coloro che hanno già un'esperienza di programmazione e vogliono semplicemente passare a Python con la stessa rapidità possibile. Leggi di più se non sai da dove iniziare. Se pensate che Python sia una lingua inutile, date un'occhiata ai nostri motivi per cui non è 5 motivi per cui la programmazione in Python non è inutile 5 motivi per cui Python Programming non è inutile Python - Lo amate o lo odiate. Potresti anche oscillare da un'estremità all'altra come un pendolo. Indipendentemente da ciò, Python è un linguaggio per il quale è difficile essere ambigui. Leggi di più .

Mentre le seguenti idee fondamentali possono essere applicate a qualsiasi lingua, mostrerò gli esempi in Python. È un linguaggio facile da imparare e fornisce una piattaforma eccellente per capire cosa sta succedendo. Oltre a questo, tutorialspoint.com fornisce un eccellente interprete Python online - non devi nemmeno installare Python se non vuoi (se lo fai, dai un'occhiata alla nostra guida agli ambienti virtuali Scopri come usare Python Virtual Ambiente Scopri come utilizzare l'ambiente virtuale Python Se sei uno sviluppatore Python esperto, o sei appena iniziato, imparare come configurare un ambiente virtuale è essenziale per qualsiasi progetto Python..

Strutture dati

Cos'è un struttura dati? Al livello più elementare, una struttura dati è un modo per archiviare in modo efficiente i dati. È facile confondersi perché le strutture dati non lo sono tipi di dati. I tipi di dati dicono al compilatore (o, nel caso di Python, all'interprete) come devono essere usati i dati. Le strutture dati specificano le operazioni che possono essere eseguite e spesso implementano regole e regolamenti specifici.

Potresti averne sentito parlare lineare tipi di dati (gli elementi sono sequenziali):

  • schieramento
  • Matrice
  • Tabella di ricerca

allo stesso modo, liste spesso contengono regole e metodi per regolare il modo in cui operano. Alcuni elenchi comuni sono:

  • Lista collegata
  • Lista Doubly Linked
  • Elenco di array o matrice dinamica

C'è una pletora di diverse strutture di dati. Potresti aver sentito parlare alberi binari, grafici, o hash. Oggi parlerò delle basi, ma potresti desiderare di saperne di più una volta che ti sentirai a tuo agio.

schieramento

Iniziamo dall'inizio. Una matrice è una semplice raccolta di valori (correlati). Questi valori sono chiamati elementi. Di solito possono essere qualsiasi tipo di dati che ti piace, inclusi oggetti o altre liste! L'avvertimento principale con gli array è che tutti i dati devono essere uguali: non è possibile memorizzare stringhe e interi misti. tu quasi devi sempre specificare il numero di elementi che desideri memorizzare. Dimensioni variabili o array dinamici esistono, ma gli array a lunghezza fissa sono più semplici per iniziare.

Python complica le cose in qualche modo. Rende le cose molto facili per te, ma non sempre si attengono a definizioni rigorose delle strutture di dati. La maggior parte degli oggetti in Python sono di solito liste, quindi la creazione di un array è in realtà più lavoro. Ecco alcuni codici di avviamento:

dall'array import array numbers = array ('i', [2, 4, 6, 8]) stampa numeri [0]

La prima riga importa il file schieramento modulo: è necessario per lavorare con gli array. La seconda riga crea un nuovo array chiamato numeri e inizializza con i valori 2, 4, 6 e 8. A ogni elemento viene assegnato un numero intero valore chiamato a chiave o indice. Le chiavi iniziano da zero, così Numeri [0] accederà al primo elemento (2):

Forse ti starai chiedendo cosa 'io' è usato per. Questo è un typecode che dice a Python che l'array memorizzerà interi. Questo genere di cose normalmente non sarebbero necessarie in Python (sarebbe considerato “unpythonic”). La ragione di questo è semplice. Le matrici in Python sono un wrapper molto sottile sui C array sottostanti del tuo sistema operativo. Ciò significa che sono veloci e stabili, ma potrebbero non sempre aderire alla sintassi Python.

Non è possibile memorizzare tipi misti in questi array. Supponi di voler memorizzare la stringa “makeuseof.com”:

numbers = array ('i', [2, 4, 6, "makeuseof.com"])

Questo non sarà permesso e genererà un'eccezione:

Ecco come è possibile stampare tutti gli elementi:

stampa numeri

Questo metodo di accesso agli elementi dell'array funziona bene ed è perfetto per il compito giusto. Ciò che non va bene è l'accesso all'intero array. I programmatori sono intrinsecamente pigri, quindi scriverò felicemente altro, codice migliore, se ciò significa che posso semplificare la manutenzione e ridurre lo sforzo di copia e incolla.

Ogni linguaggio di programmazione implementerà un ciclo di qualche tipo, perfetto per l'iterazione (looping) sugli elementi dell'elenco. I cicli più comuni sono mentre e per. Python rende le cose ancora più semplici fornendo a per dentro ciclo continuo:

per numero in numeri: numero di stampa

Si noti come non è necessario accedere agli elementi tramite la loro chiave. Questo è un modo molto migliore di lavorare con un array. Un modo alternativo per scorrere su una lista è con a per ciclo continuo:

per i in gamma (len (numeri)): numeri di stampa [i]

Questo fa esattamente la stessa cosa dell'esempio precedente, sebbene tu abbia dovuto specificare il numero di elementi nell'array (len (auto)), insieme al passaggio io come chiave per l'array. Questo è quasi esattamente il codice che per dentro cicli di corsa. In questo modo offre una flessibilità leggermente maggiore ed è leggermente più veloce (anche se per dentro i cicli sono più che abbastanza veloci maggioranza del tempo.)

elenchi

Ora che sai come funzionano gli array, diamo un'occhiata a una lista. A volte può essere fonte di confusione, poiché le persone usano termini diversi in modo intercambiabile e liste siamo array ... tipo di.

Una lista è un tipo speciale di array. La più grande differenza è che le liste possono contenere misto tipi (ricorda, gli array devono contenere elementi dello stesso tipo). Le liste sono molto semplici in Python:

cars = ['Ford', 'Austin', 'Lancia']

Si noti come non è necessario importare il schieramento modulo?

Questa sintassi dichiara una lista chiamata auto. All'interno delle parentesi quadre, ogni elemento della lista è dichiarato. Ogni elemento è separato da una virgola e, poiché ogni elemento è una stringa, li si dichiara all'interno di virgolette. Python sa che questo è un oggetto, quindi il stampare la dichiarazione produrrà il contenuto della lista:

stampare auto

Proprio come con l'array, puoi scorrere gli elementi dell'elenco su loop usando:

per auto in auto: stampa auto

Il vero trucco delle liste è il loro tipo misto. Vai avanti e aggiungi alcuni dati extra:

cars = ['Ford', 'Austin', 'Lancia', 1, 0,56]

Questo non è un problema per Python - non ha nemmeno sollevato un'eccezione:

È facile aggiungere nuovi elementi a un elenco (cosa non possibile con gli array):

auto = ['Ford', 'Austin'] stampa auto automobili.append ('Lancia') auto stampate

Puoi anche unire due elenchi in uno:

cars = ['Ford', 'Austin'] print cars other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) stampare auto

È altrettanto facile rimuovere elementi usando il rimuovere sintassi:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia'] stampare auto cars.remove ('Ford') stampare auto

Riguarda le basi delle liste e degli array in Python. Perché non prendere in considerazione un progetto di codifica, come leggere e scrivere su Fogli Google Come leggere e scrivere su Fogli Google con Python Come leggere e scrivere su Fogli Google Python Python può sembrare strano e insolito, tuttavia è facile da imparare e usare . In questo articolo, ti mostrerò come leggere e scrivere su Fogli Google usando Python. Per saperne di più, leggere i dati di JSON Come ottenere Python e JavaScript per comunicare usando JSON Come ottenere Python e JavaScript per comunicare usando JSON Oggi ti mostrerò come usare JSON per inviare dati da JavaScript a Python. Tratterò su come configurare un server web, insieme a tutto il codice che ti serve. Leggi di più . Forse potresti mettere le tue nuove abilità da usare creando dei tasti di scelta rapida personalizzati Crea i tuoi pulsanti di scelta rapida personalizzati con un Arduino Crea i tuoi pulsanti di scelta rapida personalizzati con un Arduino L'umile Arduino può fare un sacco di cose, ma lo sapevi che può emulare un Tastiera USB? È possibile combinare scorciatoie da tastiera lunghe in un unico tasto di scelta rapida personalizzato, con questo semplice circuito. Leggi di più . Pur essendo un linguaggio di programmazione diverso, questi principi di array si applicano ancora.

Hai imparato qualcosa di nuovo? Ti piacerebbe vedere alcuni contenuti più complicati? Fateci sapere i vostri pensieri nei commenti qui sotto!

Scopri di più su: Programming, Python.