Python Liste Una lista è una serie ordinata di valori, ognuno identificato da un indice. I valori che fanno parte della lista sono chiamati elementi. Una lista di 8 elementi: Indici degli elementi nella lista: el1 el2 el3 el4 el5 el6 el7 el8 0 1 2 3 4 5 6 7 Creazione di una lista Per creare una lista esplicitamente, si possono racchiudere i suoi elementi fra parentesi quadre [ ]. >>> [1,3,5,18] >>> [‘Andrea’,’Davide’, Giulia] >>> [‘stringa’,2.0,5,[10,20]] Posso anche creare liste di liste, ottenendo delle liste annidate una nell’altra. Creazione di una lista vuota Se non si inserisce nessun elemento all’interno delle parentesi [ ] si crea una lista vuota >>> ListaVuota=[] Creazione di una lista di N elementi E’ possibile creare una lista di N elementi di valore predefinito (lo stesso valore per tutti gli elementi): >>> N=150 >>> ListaVuota=[3]*N Crea una lista di 150 elementi tutti con valore 3 Funzione range() Le liste che contengono numeri interi consecutivi possono essere create con una funzione di Python: >>> range(1,5) [1,2,3,4] Crea una sequenza degli interi compresi nell’intervallo: [1,5[ Funzione range() Le liste che contengono numeri interi consecutivi possono essere create con una funzione di Python: >>> range(1,5) [1,2,3,4] Il primo argomento della funzione indica il primo elemento nella lista da creare Il secondo argomento della funzione indica l’estremo superiore (escluso) della lista da creare Funzione range() E’ possibile fornire alla funzione range() un terzo argomento per indicare il passo, cioè l’intervallo fra valori successivi: >>> range(1,10,3) [1,4,7] >>> range(10,1,-2) [10,8,6,4,2] Accedere agli elementi di una lista Ogni elemento di una lista è associato ad un indice che rappresenta la sua posizione all’interno della lista. E’ possibile estrarre un elemento (o una sequenza di elementi) da una lista attraverso l’operatore porzione [ ] >>> Numeri = range(1,10) >>> Numeri[2] 3 >>> Numeri[4:6] [4,5,6] Lunghezza di una lista >>> Nomi = [‘Andrea’, ‘Davide’, \ ‘Nicola’, ‘Giulia] >>> len(Nomi) 4 Es 1: Stampare gli elementi di una lista con il while >>> Nomi = [‘Andrea’, ‘Davide’, \ ‘Nicola’, ‘Giulia] >>> i=0 >>> while i<len(Nomi): print Nomi[i] i=i+1 Appartenenza ad una lista Python fornisce l’operatore in che controlla de un valore è un elemento di una lista. Restituisce 1 ( corrispondente a vero) se trova il valore nella lista, altrimenti 0 (falso) >>> Nomi = [‘Andrea’, ‘Davide’, \ ‘Nicola’, ‘Giulia] >>> ‘Davide’ in Nomi 1 >>> ‘Armando’ in Nomi 0 Ciclo iterativo for Per utilizzare un ciclo iterativo che debba scorrere una lista, invece del costrutto while, Python mette a disposizione il ciclo for. Tale costrutto fa sì che, data una lista, si scorrano tutti i suoi elementi uno per volta >>> lista=range(10) >>> for val in lista: print “iterazione numero ”,val Vuol dire: per ogni val presente nella lista lista, esegui le istruzioni del blocco di codice del ciclo for, in questo caso stampa la variabile val Es 2: Stampare gli elementi di una lista con il for >>> Nomi = [‘Andrea’, ‘Davide’, \ ‘Nicola’, ‘Giulia] >>> for nome in Nomi: print nome Vuol dire: per ogni nome presente nella lista Nomi, stampa la variabile nome Cancellare e rimuovere elementi di una lista Python permettere di eliminare elementi da una lista in due modi: Cancellando un elemento esplicitamente con la funzione del Assegnando ad una porzione la lista vuota [ ] >>> Numeri = range(10) >>> del Numeri[2] >>> Numeri [0,1,3,4,5,6,7,8,9] >>> Numeri[4:8]=[] >>> Numeri [0,1,3,4,9] Cancellare e rimuovere elementi di una lista Se non si conosce l’indice dell’elemento da eliminare, possiamo utilizzare la funzione remove, oppure ottenerne l’indice tramite la funzione index >>> Numeri = range(2,6) >>> Numeri.index(4) 2 >>>Numeri.remove(4) >>>Numeri [2,3,5] Aggiungere elementi ad una lista Per aggiungere un elemento in fondo ad una lista si deve utilizzare la funzione append: >>> Numeri = range(10) >>> Numeri.append(10) >>> Numeri [0,1,3,4,5,6,7,8,9,10] Aggiungere elementi ad una lista in una posizionespecifica Per aggiungere un elemento in una posizione di una lista, spostando gli elementi di indice superiore si utilizza insert: >>> Numeri = [1,2,5,6] >>> index=2 >>> Numeri.insert(index,3) >>> Numeri [1,2,3,5,6] Utilizzo della libreria grafica Matplotlib Per disegnare grafici in Python non ci sono funzioni native, ma si dovrà ricorrere ad un modulo aggiuntivo. Importa il modulo pylab che fornisce le funzionalità grafiche >>> import pylab >>> x=range(25) >>> pylab.plot(x) >>> pylab.show() Utilizzo della libreria grafica Matplotlib Per disegnare grafici in Python non ci sono funzioni native, ma si dovrà ricorrere ad un modulo aggiuntivo. >>> import pylab >>> x=range(25) >>> pylab.plot(x) >>> pylab.show() Prepara a disegnare la lista x. Nel caso di un solo argomento fornito alla funzione plot(), i valori dell’asse delle ascisse sono gli indici degli elementi della lista, e i corrispondenti valori delle ordinate sono i valori degli elementi della lista Utilizzo della libreria grafica Matplotlib Per disegnare grafici in Python non ci sono funzioni native, ma si dovrà ricorrere ad un modulo aggiuntivo. >>> import pylab >>> x=range(25) >>> pylab.plot(x) Visualizza la finestra col grafico >>> pylab.show() Utilizzo della libreria grafica Matplotlib Es. 3: Disegnare il grafico del seno e del coseno >>> import pylab >>> >>> >>> >>> >>> >>> from math import sin,cos,pi x=range(20) t=[] y1=[] y2=[] for val in x: temp=val/19.0*2.0*pi t.append(temp) y1.append(sin(temp)) y2.append(cos(temp)) Tramite l’istruzione hold si attiva o disattiva la possibilità di >>>pylab.plot(t,y1) disegnare più grafici sugli stessi >>>pylab.hold assi. Se non è attiva, ogni camando di >>>pylab.plot(t,y2) plot() cancella il grafico >>>pylab.show precedente e disegna il nuovo