English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Python

Controllo dei flussi Python

Funzione in Python

Tipi di dati in Python

Operazioni di file Python

Oggetti e classi Python

Data e ora Python

Conoscenze avanzate Python

Manuale di riferimento Python

Elenco (List) in Python

In questo articolo, impareremo tutto ciò che riguarda l'elenco (List) Python; come crearli, fare tagli agli elenchi, aggiungere o rimuovere elementi, ecc.

Python fornisce una serie di tipi di dati composti chiamati di solito sequenze. L'elenco è uno dei tipi di dati più utilizzati e più ampiamente utilizzati in Python.

Come si costruisce un elenco (List)?

In programmazione Python, viene creato un elenco (List) mettendo tutti gli elementi (progetti) tra parentesi quadre [] e separati da virgole.

Può avere un numero illimitato di elementi e possono avere tipi diversi (interi, float, stringhe, ecc.).

# elenco vuoto
my_list = []
# elenco di interi
my_list = [1, 2, 3]
# elenco con tipi di dati misti
my_list = [1, "Hello", 3.4]

Analogamente, un elenco può anche avere un altro elenco come elemento. Questo si chiama elenco annidato.

# elenco annidato
my_list = ["mouse", [8, 4, 6], ['a']]

Come accedere agli elementi dell'elenco?

Possiamo accedere agli elementi dell'elenco in vari modi.

Indice dell'elenco

Possiamo utilizzare l'operatore di indagine [] per accedere agli elementi dell'elenco. L'indice parte da 0. Pertanto, un elenco contenente 5 elementi ha indici da 0 a 4.

Prova ad accedere ad altri elementi; altrimenti verrà sollevato un errore IndexError. L'indice deve essere un intero. Non possiamo utilizzare float o altri tipi, il che causerebbe un TypeError.

Accedi all'elenco annidato utilizzando l'indice incrociato.

my_list = ['p', 'r', 'o', 'b', 'e']
# Output: p
print(my_list[0])
# Output: o
print(my_list[2])
# Output: e
print(my_list[4])
# Errore! Solo gli interi possono essere utilizzati come indici
# my_list[4.0]
# Elenco annidato
n_list = ['Happy', [2, 0, 1, 5]]
# Indice annidato
# Output: a
print(n_list[0][1])    
# Output: 5
print(n_list[1][3])

Indice negativo

Python consente di utilizzare l'indice negativo per le sequenze. L'indice -1 rappresenta l'ultimo elemento, -2 rappresenta il penultimo, e così via.

my_list = ['p', 'r', 'o', 'b', 'e']
# Output: e
print(my_list[-1])
# Output: p
print(my_list[-5])

Come fare a scindere una lista in Python?

Possiamo utilizzare l'operatore di scissione (due punti: ) per accedere a una serie di elementi in una lista.

my_list = ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
# Dall'elemento terzo al quinto
print(my_list[2:5])
# Dall'inizio al quarto elemento
print(my_list[:-5])
# Elemento sesto fino alla fine
print(my_list[5:])
# Elementi dall'inizio alla fine
print(my_list[:])

Considerando l'indice tra gli elementi come mostrato, la scissione può ottenere un'efficace visualizzazione. Se vogliamo accedere a un intervallo, abbiamo bisogno di due indici per tagliare quella parte dell'elenco.

Come modificare o aggiungere elementi a una lista?

La lista è mutabile, il che significa che i suoi elementi possono essere modificati, diversamente dastringotuple

Possiamo utilizzare l'operatore di assegnazione (=) per modificare un elemento o una serie di elementi.

# Elenco di valori
odd = [2, 4, 6, 8]
# Modifica il primo elemento    
odd[0] = 1            
# Output: [1, 4, 6, 8]
print(odd)
# Modifica il secondo al quarto elemento
odd[1:4] = [3, 5, 7]  
# Output: [1, 3, 5, 7]
print(odd)

Possiamo utilizzare il metodo append() per aggiungere un elemento a un elenco, o il metodo extend() per aggiungere più elementi a un elenco.

odd = [1, 3, 5]
odd.append(7)
# Output: [1, 3, 5, 7]
print(odd)
odd.extend([9, 11, 13])
# Output: [1, 3, 5, 7, 9, 11, 13]
print(odd)

Possiamo anche utilizzare l'operatore + per combinare due elenchi. Questo si chiama anche concatenazione.

L'operatore di moltiplicazione ripete la lista per il numero specificato di volte.

odd = [1, 3, 5]
# Output: [1, 3, 5, 9, 7, 5]
print(odd + [9, 7, 5])
# Output: ['re', 're', 're']
print(['re'] * 3)

Inoltre, possiamo utilizzare il metodo insert() per inserire un elemento in una posizione specifica, o inserire più elementi comprimendo più elementi in una sezione vuota della lista.

odd = [1, 9]
odd.insert(1, 3)
# Output: [1, 3, 9] 
print(odd)
odd[2:2] = [5, 7]
# Output: [1, 3, 5, 7, 9]
print(odd)

Come possiamo eliminare o rimuovere un elemento dalla lista?

Possiamo utilizzare la parola chiave del per eliminare uno o più elementi dalla lista. Può anche eliminare l'intera lista.

my_list = ['p','r','o','b','l','e','m']
# Elimina un elemento
del my_list[2]
# Output: ['p', 'r', 'b', 'l', 'e', 'm']     
print(my_list)
# Elimina più elementi
del my_list[1:5]  
# Output: ['p', 'm']
print(my_list)
# Elimina tutta la lista
del my_list       
# Error: List not defined
print(my_list)

Possiamo utilizzare il metodo remove() per eliminare un elemento specifico, o il metodo pop() per eliminare un elemento all'indice specificato.

Se non viene fornito un indice, il metodo pop() eliminerà e restituirà l'ultimo elemento. Questo aiuta a implementare la lista come un stack (struttura dati di tipo FIFO).

Possiamo anche utilizzare il metodo clear() per svuotare la lista.

my_list = ['p','r','o','b','l','e','m']
my_list.remove('p')
# Output: ['r', 'o', 'b', 'l', 'e', 'm']
print(my_list)
# Output: 'o'
print(my_list.pop(1))
# Output: ['r', 'b', 'l', 'e', 'm']
print(my_list)
# Output: 'm'
print(my_list.pop())
# Output: ['r', 'b', 'l', 'e']
print(my_list)
my_list.clear()
# Output: []
print(my_list)

Infine, possiamo eliminare un elemento dalla lista assegnando una lista vuota alle sezioni degli elementi.

>>> my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']

Metodi della lista Python

Di seguito è riportato un elenco dei metodi disponibili per l'oggetto list nel programming Python.

Sono accessibili tramite list.method(). Alcuni di questi metodi sono già stati utilizzati.

Metodi della lista Python
append() -Aggiunge un elemento alla fine della lista
extend() -Aggiunge tutti gli elementi di un'altra lista alla lista
insert() -Inserisce un elemento all'indice specificato
remove() -Elimina un elemento dalla lista
pop() -Elimina e restituisce l'elemento all'indice specificato
clear() -Elimina tutti gli elementi dalla lista
index() -Ritorna l'indice della prima occorrenza dell'elemento
count() -Ritorna il numero di elementi passati come argomento
sort() -Ordina gli elementi nella lista in ordine crescente
reverse() -Inverte l'ordine degli elementi nella lista
copy() -Ritorna una copia superficiale della lista

Esempi di alcuni metodi della lista Python:

my_list = [3, 8, 1, 6, 0, 8, 4]
# Output: 1
print(my_list.index(8))
# Output: 2
print(my_list.count(8))
my_list.sort()
# Output: [0, 1, 3, 4, 6, 8, 8]
print(my_list)
my_list.reverse()
# Output: [8, 8, 6, 4, 3, 1, 0]
print(my_list)

Elaborazione di liste: modo elegante per creare nuove liste

L'elaborazione di liste è un metodo chiaro e conciso per creare nuove liste da liste esistenti di Python.

L'elaborazione di liste contiene un'espressione seguita da parentesi quadreistruzione for

Questo è un esempio di elencare i potenze di 2 con un aumento di 2 per ciascun elemento.

pow2 = [2 ** x for x in range(10)]
# Output: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
print(pow2)

Questo codice è equivalente a

pow2 = []
for x in range(10):
   pow2.append(2 ** x)

l'elaborazione di liste può includere più for oistruzione ifL'istruzione condizionale opzionale può filtrare gli elementi della nuova lista. Ecco alcuni esempi.

>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> dispari = [x for x in range(20) if x % 2 == 1]
>>> dispari
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
['Linguaggio Python', 'Programmazione Python', 'Linguaggio C', 'Programmazione C']

Altre operazioni di lista in Python

Test di appartenenza della lista

Possiamo utilizzare la parola chiave in per testare se un elemento esiste in una lista.

my_list = ['p','r','o','b','l','e','m']
# Output: True
print('p' in my_list)
# Output: False
print('a' in my_list)
# Output: True
print('c' not in my_list)

Esplorazione della lista

Utilizzando il ciclo for, possiamo esplorare ogni elemento di una lista.

for fruit in ['apple','banana','mango']:
    print("I like",fruit)