Enrico's pages/ 2007/ pygnami/ Python versione Bignami - Sequenze

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