
Le sequenze in Python
Le sequenze in Python sono strutture fondamentali per la gestione e l'organizzazione dei dati. Queste strutture possono essere paragonate a contenitori che ordinano e conservano diversi elementi secondo una sequenza precisa, che può essere numerica o basata sull'ordine di inserimento.
Le sequenze in Python sono oggetti iterabili che ti permettono di memorizzare e organizzare collezioni di dati in un ordine definito. Gli elementi della sequenza sono ordinati da sinistra verso destra tramite l'indicizzazione. In altre parole, a ogni elemento è associato un numero indice da 0 (il primo elemento) in poi. L'indice è una chiave che ti permette di cercare, estrarre o modificare ogni singolo elemento della sequenza senza alterare gli altri.
In Python, esistono diversi tipi di sequenze, ognuna con le sue peculiarità e funzioni. Le più comuni sono:
- Liste
Sono sequenze mutabili, il che significa che i loro elementi possono essere modificati. Possono contenere dati di qualsiasi tipo, anche misti tra loro. Per esempio, lista = [1, "due", 3.0] è una lista che contiene un intero, una stringa, e un numero in virgola mobile.lista = [1, "due", 3.0]
- Tuple
Sono simili alle liste, ma immutabili. Una volta creati, i loro elementi non possono essere cambiati. Sono utili per garantire che i dati rimangano costanti. Per esempio, tupla = (1, 2, 3) è una tupla di tre elementi.tupla = (1, 2, 3)
- Stringhe
In Python anche le stringhe sono delle sequenze. Puoi vedere una stringa come una sequenza di caratteri posti l'uno dopo l'altro, dove ogni posizione della sequenza è associata a un indice. Ad esempio stringa="Nigiara" è una sequenza di 7 caratteri.stringa = "Nigiara"
- Range
Questa sequenza è utilizzata per generare una serie di numeri. È spesso impiegata nei cicli per iterare un numero fisso di volte. Per esempio, range(5) genera una sequenza che va da 0 a 4.range(5)
Ogni tipo di sequenza in Python supporta operazioni specifiche, come l'indicizzazione, lo slicing, l'aggiunta, la rimozione, e altre funzioni.
Ad esempio, crea una lista composta da cinque elementi
>> lista = [ 'uno', 'due', 'tre', 'quattro', 'cinque' ]
Per conoscere il numero degli elementi nella sequenza puoi usare la funzione len()
In questo caso, nella lista ci sono cinque elementi.
>> len(lista)
5
Puoi accedere a un elemento della sequenza indicando il suo indice tra parentesi quadre.
Ad esempio, lista[0] per ottenere il contenuto del primo elemento della lista.
>> lista[0]
uno
Per accedere al secondo elemento devi indicare l'indice 1, perché l'indicizzazione in Python comincia sempre da zero
>> lista[1]
due
Tramite la tecnica dello slicing puoi estrarre una sottosequenza nome[i,j] compresa tra due indici i e j (escluso).
Ad esempio, se scrivi lista[1:3] ottieni dal secondo al terzo elemento della lista.
>> lista[1:3]
['due', 'tre']
Lo slicing ti permette anche di usare dei numeri negativi.
Ad esempio, l'indice -1 indica l'ultimo elemento della sequenza perché vede la sequenza da destra verso sinistra.
>> lista[-1]
cinque
L'indice -2 indica il penultimo elemento e via dicendo.
>> lista[-2]
quattro
Tutte le sequenze hanno la capacità di essere iterate, permettendo di eseguire operazioni su ciascun elemento. Questo è particolarmente utile in combinazione con cicli come for o while.
Le sequenze vuote
In Python, una sequenza vuota è sempre valutata come False, mentre una sequenza non vuota come True.
Questo principio si applica a diverse strutture di dati, come le stringhe, le liste e le tuple.
Per esempio, una stringa vuota ('') restituisce False quando valutata in un contesto booleano.
bool('')
False
Una stringa che contiene anche solo uno spazio (' ') o qualsiasi altro carattere viene valutata come True.
bool('abc')
True
Analogamente, una lista vuota ([]) è False.
bool([])
False
Una lista che contiene almeno un elemento anche solo un elemento vuoto (['']) è invece True.
bool(['abc', 'def'])
True
Lo stesso vale per le tuple: una tupla vuota (()) è False
bool(())
False
Viceversa, una tupla con un elemento vuoto (('',)) o qualsiasi altro elemento è True.
bool(('abc','def'))
True
Questi esempi concreti ti fanno capire come Python interpreta la verità e la falsità.
Riassumendo, la presenza di qualsiasi contenuto in una sequenza la rende vera, mentre l'assenza totale di contenuti la rende falsa.