Python versione Bignami - Sequenze

Stringhe

Le stringhe sono considerate sequenze immutabili di caratteri.

Tuple

La tupla è una sequenza di valori non modificabile.

Funzioni che restituiscono piú di un valore:

def divisione_intera(a, b):
    "Dati due numeri restituisce il quoziente e il resto"
    return int(a) / int(b), int(a) % int(b)
q, r = divisione_intera(5, 3)

Generatori che generano piú valori alla volta:

def leggi_configurazione(filename):
    "Estrae delle coppie 'nome = valore' da un file"
    file = open(filename, "r")
    for line in file:
        name, val = line.split(' = ')
        yield name, val
for name, val in leggi_configurazione():
    ...

Liste

La lista è una sequenza di valori modificabile.

Esempio:

>>> x = [1, 2, 3]
>>> x
[1, 2, 3]
>>> x.append(4)
>>> x
[1, 2, 3, 4]
>>> x.append([5,6])
>>> x
[1, 2, 3, 4, [5, 6]]
>>> del x[4]
>>> x
[1, 2, 3, 4]
>>> x.extend([5,6])
>>> x
[1, 2, 3, 4, 5, 6]

Operazioni

Queste operazioni sono valide per tutti i tipi di sequenze:

Accesso agli elementi

Iterazione

Ogni sequenza è iterabile:

>>> a = [1, 2, 3]
>>> for i in a: print i
1
2
3

Assegnamento a piú variabili

I valori in una sequenza possono essere assegnati a una sequenza di variabili

x, y = (1, 2)
x, y = [1, 2]
(x, y) = [1, 2]
[x, y] = [1, 2]

Funziona anche con le stringhe:

>>> a, b, c, d = "ciao"
>>> a
'c'
>>> b
'i'
>>> c
'a'
>>> d
'o'

Esempio di iterazione su una lista di coppie:

>>> a = [ (1, 2), (2, 3), (3, 4) ]
>>> for x, y in a: print x, ":", y
...
1 : 2
2 : 3
3 : 4

Funzioni che lavorano con liste e sequenze

Funzioni che lavorano solo con le liste

Link