Programmazione in Python per la bioinformatica
|
|
|
- Corrado Milani
- 8 anni fa
- Visualizzazioni
Transcript
1 per la bioinformatica University of Verona
2 Sommario
3 La struttura dati Lista
4 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.
5 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
6 Modicare gli elementi di una lista Come modicare gli elementi di una lista Posso modicare gli elementi di una lista tramite gli indici
7 Attenzione al side eect! Side eect sulle liste Reminder: strange_list è un puntatore ad una lista Posso avere side eect sulle stringhe?
8 Modicare le stringhe Non è possibile modicare una stringa! Le stringhe sono oggetti immutabili
9 e slicing Slicing di una lista Possiamo accedere ad un range di valori della lista Possiamo fare una copia della lista usando il range [:]
10 Modicare le tramite slicing modicare parti di una lista Possiamo modicare un range di elementi
11 Operazioni comuni sulle liste Operazioni sulle liste Concatenazione, built-in functions (i.e., len()) e operatore del
12 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)
13 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
14 Ordinare una lista Modi per ordinare una lista la funzione sorted(): ritorna una nuova lista il metodo sort(): modica l'oggetto di invocazione
15 e ordinamento Quali liste posso ordinare posso ordinare liste di elementi su cui sia denito un ordine ma gli elementi devono essere dello confrontabili
16 Tuple Sequenza di elementi non mutabile sequenza di valori separati dalla virgola non sono mutabili
17 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
18 Set Collezione di elementi non ordinata Non ci sono duplicati Supportano le operazioni classiche su insiemi
19 Operazioni su insiemi Operazioni classiche su insiemi Unione, Intersezione, Dierenza
20 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
21 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
22 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)
23 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
24 Aggiornare i valori di un dizionario I Modicare un dizionario I possiamo aggiungere o modicare coppie usando le parentesi quadre
25 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
26 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
27 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
Liste, dizionari e tuple
Liste, dizionari e tuple Andrea Passerini [email protected] Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["abc",
Programmazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario Scrivere ed utilizzare i moduli Scrivere ed utilizzare i package Cosa sono i moduli Cosa e' un modulo e a cosa serve Modulo: le python con estensione.py
Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO
Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I
Laboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
Laboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
Programmazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
Algoritmi e Strutture Dati
Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]
Creare l array presentato nei lucidi ([pippo, pluto, etc])
Creare l array presentato nei lucidi ([pippo, pluto, etc]) Visualizzare sul browser tutto il contenuto dell array formattato come tabella, con una riga di intestazione Personaggi in grassetto e poi una
Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list
Esercitazione: Implementazione in linguaggio C dell ADT Stack con l utilizzo di linked list Laboratorio di Programmazione Introduzione un ADT (Abstract Data Type) è un modello (formale) che generalizza
Python Giuseppe Scoleri - 34
Python Giuseppe Scoleri - 34 I DIZIONARI Le liste sono un esempio di tipo di dati composti che possono usare solo numeri interi come indici. I dizionari sono simili agli altri tipi composti ma si differenziano
Corso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli [email protected] Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
Introduzione a Python ed installazione di Jupyter
Introduzione a Python ed installazione di Jupyter Marco D. Santambrogio [email protected] Emanuele Del Sozzo [email protected] Lorenzo Di Tucci [email protected] Giuseppe
Usare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
Laboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
Lezione 6 Le pile. Informatica. 28 Aprile 2016
Lezione 6 Le pile Informatica 28 Aprile 2016 Il porto di Anversa Il terminal del porto merci di Anversa usa delle gru a cavaliere per movimentare i container: I container arrivano per nave e vengono messi
4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
Programmazione orientata agli oggetti. Ivan Lanese
Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows
Input/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini [email protected] Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
Lezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
Access. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.
Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro Definizione
In questa lezione Strutture dati elementari: Pila Coda
In questa lezione Strutture dati elementari: Pila Coda 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni che li modificano (insiemi dinamici). Le
Array e puntatori in C
Array e puntatori in C Diapositive adattate dalle omonime create dalla Dottoressa di Ricerca Giovanna Melideo per il corso di Laboratorio di Algoritmi e Strutture Dati 10/05/2005 LP2-04/05 - Appunti di
ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
Dizionari. Hashtables.
Dizionari Hashtables http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Introduzione I tipi di dato che abbiamo introdotto fino ad ora sono
Liste con sentinella. intlist *createlist(void){ intlist *q = malloc(sizeof(intlist)); if(!q) { exit(-1); } q->next = q->prev = q; return q; }
Liste con sentinella Un ulteriore semplificazione delle operazioni sulle liste si ottiene utilizzando un elemento sentinella (dummy) che non contiene informazione, ma serve a segnalare la fine e l inizio
Stringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
Laboratorio di Python
Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione
Esercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione
Capitolo 5 - Funzioni
Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente
Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
Fondamenti di Informatica T-1
Fondamenti di Informatica T-1 Stringhe Tutor: Allegra De Filippo [email protected] a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 13 STRINGHE: Definizione e creazione Stringa
Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
Lezione 5 Sottoarray di somma massima
Lezione 5 Sottoarray di somma massima Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 My strcat 1 Esercizio Implementare
9In questa sezione. Ordinare e filtrare i dati. Dopo aver aggiunto dati ai fogli di lavoro, potresti voler
9In questa sezione Ordinare e filtrare i dati Ordinare i dati del foglio di lavoro Creare un elenco personalizzato Filtrare rapidamente i dati con Filtro automatico Creare un filtro avanzato Convalidare
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Metodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
La struttura dati CODA
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - [email protected] Introduzione Una coda (o queue) è una struttura dati astratta
Laboratorio di Python
, Esercizi su dizionari Università di Bologna 24 aprile e 3 maggio 2013 Sommario 1 2 3 Estrazione senza reinserimento Estrarre 10 carte da un mazzo di 40 senza reinserirle nel mazzo def estrazione(): mazzo=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
PILE E CODE. Pile (stack):
PILE E CODE Sono tipi di dato che consentono di rappresentare sequenze di elementi in cui gli inserimenti e le cancellazioni sono eseguiti con particolari modalita` (politiche o discipline). Pile (stack):
Programmazione Funzionale
1/9 Programmazione Funzionale Esercizio sulle variabili locali Davide Mottin - Themis Palpanas March 12, 2014 OCaml Funzioni preparatorie Sommario 2/9 Funzioni preparatorie Costruire una funzione val even
Esercitazione 5 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016
Esercitazione 5 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 7, 2016 Liste trabocco (Separate Chaining) Esercizio 1 [Libro 7.5] Un dizionario è realizzato con liste di trabocco.
Allocazione Dinamica della Memoria
Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
MICROSOFT EXCEL FORMULE E FUNZIONI
MICROSOFT EXCEL FORMULE E FUNZIONI Lezione 1.2 a.a. 2016-2017 Ing. Giulia Fiscon Sommario Introduzione Microsoft Excel Lavorare con i fogli di calcolo Riferimenti di cella Formule e Funzioni Funzioni logiche
Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
