Programmazione in Python per la bioinformatica

Documenti analoghi
Liste, dizionari e tuple

Programmazione in Python per la bioinformatica

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Laboratorio di Python

Laboratorio di Python

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Programmazione I - Laboratorio

Algoritmi e Strutture Dati

Creare l array presentato nei lucidi ([pippo, pluto, etc])

Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list

Python Giuseppe Scoleri - 34

Corso di Linguaggi di Programmazione

Introduzione a Python ed installazione di Jupyter

Usare Python in Linux

Laboratorio di Python (con Linux)

Lezione 6 Le pile. Informatica. 28 Aprile 2016

4 GLI ARRAY E LE STRINGHE

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Programmazione orientata agli oggetti. Ivan Lanese

Input/Output. Console e File.

Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli

Lezione 8 Struct e qsort

Access. P a r t e t e r z a

Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.

In questa lezione Strutture dati elementari: Pila Coda

Array e puntatori in C

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Dizionari. Hashtables.

Liste con sentinella. intlist *createlist(void){ intlist *q = malloc(sizeof(intlist)); if(!q) { exit(-1); } q->next = q->prev = q; return q; }

Stringhe e allocazione dinamica della memoria

Laboratorio di Python

Esercitazione: Interrogazioni SQL

Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.

Capitolo 5 - Funzioni

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Fondamenti di Informatica T-1

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Lezione 5 Sottoarray di somma massima

9In questa sezione. Ordinare e filtrare i dati. Dopo aver aggiunto dati ai fogli di lavoro, potresti voler

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Metodi statici. Dichiarazione e chiamata di metodi statici

Caratteristiche dei linguaggi per Database

La struttura dati CODA

Laboratorio di Python

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

PILE E CODE. Pile (stack):

Programmazione Funzionale

Esercitazione 5 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Allocazione Dinamica della Memoria

Funzioni, Stack e Visibilità delle Variabili in C

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

MICROSOFT EXCEL FORMULE E FUNZIONI

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Transcript:

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