Gli oggetti di tipo list, liste, rappresentano sequenze modificabili di elementi…
Le liste implementano le operazioni sulle sequenze comuni e modificabili.
Costruttori
[] | Una lista vuota |
[x1, x2, ...] | Una lista con gli elementi x1, x2, … |
list() | Una lista vuota |
list(z) | Una lista con gli elementi della struttura z (lista, tupla, range, set, iteratore, …) |
Operatori
lista1 + lista2 | Restituisce la lista con gli elementi di lista1 e lista2 |
n * lista | Restituisce la lista con n volte gli elementi della lista |
lista[p] | L’elemento alla posizione p (vedi SLICING) |
x in lista | x appartiene a lista? |
del lista[p] | Elimina l’elemento della lista alla posizione p. ERRORE: se p non è un indice valido per la lista. |
del lista | Elimina la lista |
… | … |
Funzioni / metodi
lista.append(x) | Aggiunge x come ultimo elemento (a destra…) |
lista.clear() | Elimina tutti gli elementi della lista (da 3.3) |
lista.count(x) | Restituisce quante volte compare x: 0, 1, … |
lista1.extend(lista2) | Concatena lista2 a destra di lista1 |
lista.index(x) | Restituisce la posizione della prima occorrenza di x. ERRORE: se x non è presente nella lista. |
lista.insert(p, x) | Inserisce l’elemento x alla posizione p |
len(lista) | Restituisce il numero di elementi |
max(lista) | Restituisce il valore massimo |
min(lista) | Restituisce il valore minimo |
lista.pop() | Restituisce, e rimuove, l’ultimo elemento |
lista.pop(p) | Restituisce, e rimuove, l’elemento alla posizione p |
lista.remove(x) | Elimina la prima occorrenza di x. ERRORE: se x non è presente nella lista. |
lista.reverse() | Capovolge il contenuto della lista |
reversed(lista) | Restituisce un iteratore con il contenuto della lista capovolto (con list(…) diventa una lista) |
lista.sort() | Ordina la lista |
lista.sort(reverse=True) | Ordina la lista alla rovescia |
sorted(lista) | Restituisce una lista con gli elementi della lista ordinati |
sum(lista) | Restituisce la somma degli elementi (se sono numeri…) |
… | … |
Prova!
Di seguito controlla l’effetto della singola operazione/funzione…
Costruttori…
1 2 3 4 5 6 7 8 |
lista=[] # [] lista=[1, 9, 2, 8] # [1, 9, 2, 8] lista=list() # [] lista=list([1, 9, 2, 8]) # [1, 9, 2, 8] lista=list((1, 9, 2, 8)) # [1, 9, 2, 8] lista=list(range(4)) # [0, 1, 2, 3] lista=list("1928") # ['1', '9', '2', '8'] |
Operatori
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
lista=[1, 9, 2, 8] lista[0]=10 # [10, 9, 2, 8] lista[1:3]=[10,11] # [1, 10, 11, 8] del lista[1] # [1, 2, 8] del lista # "undefined" x=lista[1] # 9 x=lista[1:3] # [9, 2] x=lista[1:] # [9, 2, 8] x=lista[:3] # [1, 9, 2] x=lista+[10] # [1, 9, 2, 8, 10] x=lista+lista # [1, 9, 2, 8, 1, 9, 2, 8] x=2*lista # [1, 9, 2, 8, 1, 9, 2, 8] x=(10 in lista) # False x=(10 not in lista) # True |
Funzioni/metodi con risultato di ritorno
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
lista=[1, 9, 2, 8] x=len(lista) # 4 x=max(lista) # 9 x=min(lista) # 1 x=sum(lista) # 20 x=lista.count(8) # 1 x=lista.index(8) # 3 x=lista.pop() # x=8 lista=[1, 9, 2] # Invece... x=lista.pop(1) # x=9 lista=[1, 2, 8] x=sorted(lista) # [1, 2, 8, 9] it=reversed(lista) # "iteratore" x =list(it) # [8, 2, 9, 1] |
Metodi che modificano una lista
1 2 3 4 5 6 7 8 9 |
lista=[1,9,2,8] lista.append(-10) # [1, 9, 2, 8, -10] lista.clear() # [], da Python 3.3 lista.insert(1,3) # [1, 3, 9, 2, 8] lista.remove(9) # [1, 2, 8] lista.reverse() # [8, 2, 9, 1] lista.sort() # [1, 2, 8, 9] lista.sort(reverse=True) # [9, 8, 2, 1] |
Anche
- lista[…]=…
- lista.pop(…)
- del lista[…]
- del lista