Metodi delle liste in python

In questa lezione studieremo altri metodi delle liste in Python, che non possono essere utilizzati però con le tuple. In particolare vedremo in dettaglio il metodo append e insert.


Alcuni metodi delle liste in Python

Inserire elementi in una lista

Per inserire elementi in una lista si possono usare due metodi append(val) e insert(pos,val).

La differenza è che il metodo append consente di aggiungere elementi in coda ad una lista in Python, mentre insert consente di aggiungere un valore nella posizione pos specificata.

Append()

Vediamo quindi un esempio pratico sull’uso di append:

stagioni=[‘Primavera’, ‘Estate’]

stagioni.append(‘Autunno’)

print(stagioni)


Insert()

Come già detto il metodo insert, consente di inserire un elemento in una posizione specificata dall’indice. Ad esempio:

stagioni=[‘Primavera’, ‘Estate’]

stagioni.insert(0, ‘Autunno’)

print(stagioni)

Questo script stamperà quindi la lista con l’aggiunta di Autunno in prima posizione: [‘Autunno’, ‘Primavera’, ‘Estate’].

Facciamo altri esempi con i due metodi.

Uso di append

Inserire in una lista di n elementi, i valori del suo indice. Dopo averli inseriti tutti, visualizzare gli elementi e la relativa posizione.


n = int(input('Inserisci il numero degli elementi:'))
lista = []

for i in range(n):
    lista.append(i)

for i in range(n):
    print('Elemento in posizione:', i, 'vale', lista[i])

Analizziamo i cicli che abbiamo utilizzato per risolvere l’algoritmo proposto.

In questo esempio i rappresenta l’indice, mentre lista[i] rappresenta l’elemento.

Supponendo che n valga 5, quindi eseguiamo il primo ciclo for passo passo. Partendo dalla prima iterazione abbiamo:

i=0 e dunque con lista.append(i) ottengo lista[0]=0

i=1 e dunque con lista.append(i) ottengo lista[1]=1

….

i=4 e dunque con lista.append(i) ottengo lista[4]=4


Con il secondo ciclo for poi visualizzo tutti gli elementi ed il suo indice, infatti con i visualizzo l’indice, cioè la posizione dell’elemento mentre con lista[i] visualizzo l’elemento.

Possiamo anche utilizzare questo secondo metodo per leggere gli elementi della lista. Quindi al posto del secondo for posso scrivere:

for i in lista:
    print('Elemento in posizione', lista.index(i), 'vale', i)

N.B. Questo metodo però non funziona se ci sono elementi uguali nella lista!

In questo secondo esempio i rappresenta l’elemento, non l’indice come nel primo esempio, dunque per ottenere l’indice richiamo il già citato metodo index.

L’output generato, in entrambi i casi, sarà dunque questo:

Elemento in posizione 0 vale 0
Elemento in posizione 1 vale 1
Elemento in posizione 2 vale 2
Elemento in posizione 3 vale 3
Elemento in posizione 4 vale 4

Uso di Insert

Adesso implementiamo lo stesso esempio utilizzando insert.


n = 5
lista = []

for i in range(n):
    lista.insert(0,i)

for i in range(n):
    print('Elemento in posizione:', i, 'vale', lista[i])

In questo caso gli elementi sono inseriti in testa alla lista in quanto ho specificato la posizione 0 da cui partire per ogni inserimento. Gli elementi, cioè, a mano a mano vengono spostati verso destra.

La lista, al termine del ciclo for, conterrà i seguenti valori: lista[4,3,2,1,0].

Quindi l’output ottenuto è:

Elemento in posizione: 0 vale 4
Elemento in posizione: 1 vale 3
Elemento in posizione: 2 vale 2
Elemento in posizione: 3 vale 1
Elemento in posizione: 4 vale 0

Anche qui per visualizzare gli elementi avrei potuto utilizzare questo procedimento:

for i in lista:
    print('Elemento in posizione:', lista.index(i), 'vale', i)

Anche in questo caso possiamo utilizzare questo metodo, attenzione però quando ci sono elementi ripetuti!

In questa lezione abbiamo studiato i metodi delle liste in Python, presto faremo delle applicazioni pratiche.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *