Annuncio pubblicitario

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

Prerequisiti

Non c'è molto che devi sapere in anticipo per apprendere questi concetti. Una conoscenza di base dei paradigmi di programmazione e di Python sarà utile, ma non è necessaria. Leggi il nostro esempi di base di Python 10 esempi di base di Python che ti aiuteranno a imparare velocementeQuesto articolo di esempi di base su Python è per coloro che hanno già qualche esperienza di programmazione e vogliono semplicemente passare a Python il più rapidamente possibile. Leggi di più se non sai da dove iniziare. Se pensi che Python sia un linguaggio inutile, dai un'occhiata al nostro motivi per cui non lo è 5 motivi per cui la programmazione Python non è inutilePython - O lo ami o lo odi. Potresti persino oscillare da un'estremità all'altra come un pendolo. Indipendentemente da ciò, Python è un linguaggio di cui è difficile essere ambivalenti.

instagram viewer
Leggi di più .

Mentre le seguenti idee fondamentali possono essere applicate a qualsiasi lingua, mostrerò gli esempi in Python. È una lingua facile da imparare e offre un'ottima piattaforma per capire cosa sta succedendo. In aggiunta a questo, tutorialspoint.com fornisce un eccellente interprete Python online: non è necessario installare Python se non si desidera (in caso contrario, controllare la nostra guida agli ambienti virtuali Scopri come utilizzare l'ambiente virtuale PythonChe tu sia uno sviluppatore Python esperto o che tu abbia appena iniziato, imparare a configurare un ambiente virtuale è essenziale per qualsiasi progetto Python. Leggi di più ).

Strutture dati

Che cos'è un struttura dati? Al suo livello più elementare, una struttura di dati è un modo per archiviare i dati in modo efficiente. È facile confondersi perché le strutture dati non lo sono tipi di dati. I tipi di dati indicano al compilatore (o, nel caso di Python, l'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 aver sentito parlare di alcuni lineare tipi di dati (gli elementi sono sequenziali):

  • Vettore
  • Matrice
  • Tabella di ricerca

Allo stesso modo, liste spesso contengono regole e metodi per regolare il loro funzionamento. Alcuni elenchi comuni sono:

  • Lista collegata
  • Elenco doppiamente collegato
  • Elenco di array o array dinamico

Esistono moltissime strutture dati diverse. Potresti aver sentito parlare di alberi binari, grafici, o hash. Discuterò le basi oggi, ma potresti voler saperne di più quando ti senti a tuo agio.

Vettore

Cominciamo dall'inizio. Un array è 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 altri elenchi! L'avvertenza principale con le matrici è che tutti i dati devono essere uguali: non è possibile memorizzare stringhe e numeri interi misti. tu quasi devi sempre specificare quanti elementi desideri archiviare. Dimensione variabile o array dinamici esistono, ma le matrici a lunghezza fissa sono più semplici per cominciare.

Python complica un po 'le cose. Rende le cose molto facili per te, ma non si attacca sempre a rigide definizioni delle strutture di dati. La maggior parte degli oggetti in Python sono generalmente elenchi, quindi la creazione di un array è in realtà più lavoro. Ecco un codice di avviamento:

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

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

Matrici Python

Ti starai chiedendo quale sia il 'io' è usato per. Questo è un typecode che dice a Python che l'array memorizzerà numeri interi. Questo genere di cose normalmente non sarebbe necessario in Python (sarebbe considerato "non-ritonico"). Il motivo è semplice. Gli array in Python sono un wrapper molto sottile sugli array C sottostanti del sistema operativo. Ciò significa che sono veloci e stabili, ma potrebbero non aderire sempre alla sintassi di Python.

Non è possibile archiviare tipi misti in questi array. Supponiamo che tu voglia archiviare la stringa "makeuseof.com":

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

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

Matrici Python

Ecco come è possibile stampare tutti gli elementi:

stampa numeri
Matrici Python

Questo metodo di accesso agli elementi dell'array funziona bene ed è perfetto per l'attività corretta. Ciò per cui 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 gli sforzi di copia e incolla.

Ogni linguaggio di programmazione implementerà un loop di qualche tipo, che è perfetto per iterare (loop) su elementi di lista. I loop più comuni sono mentre e per. Python rende le cose ancora più semplici fornendo a per in ciclo continuo:

per numero in numeri: stampa il numero

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

per i nell'intervallo (len (numeri)): stampa numeri [i]

Questo fa esattamente la stessa cosa dell'esempio precedente, sebbene sia stato necessario specificare il numero di elementi nell'array (len (automobili)), insieme al passaggio io come chiave dell'array. Questo è quasi esattamente il codice che per in i cicli corrono. In questo modo offre una flessibilità leggermente maggiore ed è leggermente più veloce (sebbene per in i loop sono più che abbastanza veloci maggioranza del tempo.)

elenchi

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

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

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

Notare come non è necessario importare il file Vettore modulo?

Questa sintassi dichiara un elenco chiamato auto. All'interno delle parentesi quadre, viene dichiarato ogni elemento dell'elenco. Ogni elemento è separato da una virgola e poiché ogni elemento è una stringa, li dichiari tra virgolette. Python sa che questo è un oggetto, quindi il Stampa L'istruzione genererà il contenuto dell'elenco:

macchine da stampa
Matrici Python

Proprio come con l'array, puoi iterare gli elementi dell'elenco utilizzando i loop:

per auto in auto: stampa auto
Matrici Python

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

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

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

Matrici Python

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

auto = ['Ford', 'Austin'] macchine da stampa. cars.append ( 'Lancia') macchine da stampa
Matrici Python

Puoi anche unire due elenchi in uno:

auto = ['Ford', 'Austin'] macchine da stampa. other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) macchine da stampa
Matrici Python

È altrettanto facile rimuovere gli elementi usando il rimuovere sintassi:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia'] macchine da stampa. cars.remove ( 'Ford') macchine da stampa
Matrici Python

Questo riguarda le basi delle liste e degli array in Python. Perché non prendere in considerazione un progetto di codifica, come ad esempio leggere e scrivere su Fogli Google Come leggere e scrivere su fogli Google con PythonPython può sembrare strano e insolito, tuttavia è facile da imparare e da usare. In questo articolo, ti mostrerò come leggere e scrivere su Fogli Google usando Python. Leggi di più , lettura dei dati json Come ottenere Python e JavaScript per comunicare tramite JSONOggi ti mostrerò come utilizzare JSON per inviare dati da JavaScript a Python. Tratterò di come configurare un server Web, insieme a tutto il codice necessario. Leggi di più . Forse potresti mettere a frutto le tue nuove abilità realizzandone alcune pulsanti di scelta rapida personalizzati Crea i tuoi pulsanti di scelta rapida personalizzati con un ArduinoL'umile Arduino può fare molte cose, ma lo sapevi che può emulare una tastiera USB? È possibile combinare lunghe scorciatoie da tastiera in un singolo tasto di scelta rapida personalizzato, con questo semplice circuito. Leggi di più . Nonostante sia un linguaggio di programmazione diverso, questi principi di matrice si applicano ancora.

Hai imparato qualcosa di nuovo? Ti piacerebbe vedere alcuni contenuti più complicati? Facci sapere cosa ne pensi nei commenti qui sotto!

Joe è laureato in Informatica presso l'Università di Lincoln, nel Regno Unito. È uno sviluppatore di software professionale e quando non pilota droni o scrive musica, spesso si trova a scattare foto o a produrre video.