per la bioinformatica University of Verona
Sommario
La struttura dati Lista
Lista Come si rappresenta una lista in python Reminder: Lista collezione ordinata di elementi L = a 0, a 1,, a n 1 La variabile strange_list è un puntatore alla locazione di memoria che mantiene gli elementi della lista.
Leggere gli elementi di una lista Come leggere gli elementi di una lista Gli elementi vanno da 0 a n 1 (n = lunghezza lista) Posso leggere gli elementi di una lista tramite gli indici
Modicare gli elementi di una lista Come modicare gli elementi di una lista Posso modicare gli elementi di una lista tramite gli indici
Attenzione al side eect! Side eect sulle liste Reminder: strange_list è un puntatore ad una lista Posso avere side eect sulle stringhe?
Modicare le stringhe Non è possibile modicare una stringa! Le stringhe sono oggetti immutabili
e slicing Slicing di una lista Possiamo accedere ad un range di valori della lista Possiamo fare una copia della lista usando il range [:]
Modicare le tramite slicing modicare parti di una lista Possiamo modicare un range di elementi
Operazioni comuni sulle liste Operazioni sulle liste Concatenazione, built-in functions (i.e., len()) e operatore del
come oggetti Metodi delle liste Posso chiamare metodi sugli oggetti liste come per le stringhe Per conoscere tutti i metodi delle liste digitare help(list)
Implementare una Pila usando le liste come Pile Pila = Last In First Out Posso usare i metodi append(elem) e pop() per realizzare una pila tramite una lista
Ordinare una lista Modi per ordinare una lista la funzione sorted(): ritorna una nuova lista il metodo sort(): modica l'oggetto di invocazione
e ordinamento Quali liste posso ordinare posso ordinare liste di elementi su cui sia denito un ordine ma gli elementi devono essere dello confrontabili
Tuple Sequenza di elementi non mutabile sequenza di valori separati dalla virgola non sono mutabili
Esercizi su liste Eserc liste Q1 data una lista di interi ed un intero stampare tutti gli elementi presenti nella lista che sono strettamente minori dell'intero. [Hint: Usare il metodo delle liste index(v) per trovare l'indice del valore v nella lista]. Scaricare e modicare il le eserc-liste-q1.py [Sol: eserc-liste-q1.sol] Q2 risolvere l'esercizio precedente senza modicare la lista data. Scaricare e modicare il le eserc-liste-q2.py [Sol: eserc-liste-q2.sol] NOTA: NON USARE I CICLI
Set Collezione di elementi non ordinata Non ci sono duplicati Supportano le operazioni classiche su insiemi
Operazioni su insiemi Operazioni classiche su insiemi Unione, Intersezione, Dierenza
Creare collezioni da altre collezioni Usare le funzioni list() e set() Possiamo creare una lista a partire da un insieme usando la funzione list() Possiamo creare una lista da una stringa con la stessa funzione Possiamo creare una lista da una tupla con la stessa funzione Discorso simile per gli insiemi
Esercisi Eserc set Q1 data una lista ordinata rimuovere tutti i doppioni e stampare il risultato eserc-set-q1.py [Sol: eserc-set-q1.sol] Q2 date due liste stampare l'insieme degli elementi contenuti in entrambe le liste eserc-set-q2.py [Sol: eserc-set-q2.sol] Q2 leggere una stinga da input e stampare l'insieme dei caratteri che formano la stringa eserc-set-q3.py [Sol: eserc-set-q3.sol] NOTA: NON USARE I CICLI
Dicionaries Collezione non ordinata di coppie (chiave,valore) Le chiavi sono uniche nel dizionario (non ci sono duplicati) Chiavi: devono essere tipi immutabili (i.e., stinghe o numeri) Valori: possono essere di qualsiasi tipo (i.e., list)
Accedere ai valori di un dizionario Indicizzare un dizionario usare le parentesi quadre come per liste e stringhe se chiave non presente abbiamo un errore
Aggiornare i valori di un dizionario I Modicare un dizionario I possiamo aggiungere o modicare coppie usando le parentesi quadre
Aggiornare i valori di un dizionario II Modicare un dizionario II usare del per rimuovere una coppia indicizzando con la chiave aggiungere piu' coppie in una sola istruzione
Ottenere tutti gli elementi di un dizionario Accedere tutti gli elementi la funzone len() restituisce la lunghezza keys() restituisce le chiavi, values() restituisce i valori
Esercisi Eserc dict Q1 data una stringa composta da caratteri 'a','t','c','g' creare e stampare un dizionario che associ ciascuno dei 4 caratteri con il suo numero di occorrenze. eserc-dict-q1.py [Sol: eserc-dict-q1.sol] Q2 leggere una stringa da input e stampare il numero di occorrenze del carattere piu' frequente considerando solo i caratteri 'a','t','c' e 'g'. eserc-dict-q2.py [Sol: eserc-dict-q2.sol] NOTA: NON USARE I CICLI