Come ottenere la lunghezza di una lista in Python
Le liste in Python vengono utilizzate praticamente ovunque. In questo tutorial esamineremo quattro modi per trovare la lunghezza di una lista Python: usando funzioni integrate, la ricorsione e un ciclo. Conoscere la lunghezza di una lista è spesso necessario per iterare su di essa ed eseguire varie operazioni.
Funzione len() Copia link
len() è una funzione integrata di Python per ottenere la lunghezza di una lista. Accetta un solo argomento — la lista stessa — e restituisce un numero intero pari alla sua lunghezza. La stessa funzione funziona anche con altri oggetti iterabili, come le stringhe.
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)
print("There are", count, "countries")Output:
There are 4 countriesOttenere la lunghezza di una lista con un ciclo Copia link
È possibile determinare la lunghezza di una lista in Python utilizzando un ciclo for. L’idea è attraversare l’intera lista incrementando un contatore di 1 a ogni iterazione. Inseriamo tutto questo in una funzione separata:
def list_length(list):
counter = 0
for i in list:
counter = counter + 1
return counter
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)
print("There are", count, "countries")
Output:
There are 5 countriesOttenere la lunghezza di una lista con la ricorsione Copia link
La stessa operazione può essere eseguita tramite ricorsione:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)
print("There are", count, "countries")
Output:
There are 6 countriesCome funziona. La funzione list_length_recursive() riceve una lista come input.
-
Se la lista è vuota, restituisce 0 — la lunghezza di una lista vuota.
-
Altrimenti richiama sé stessa in modo ricorsivo con l’argomento
list[1:], una slice della lista originale a partire dall’indice 1 (cioè la lista senza l’elemento in posizione 0). Il risultato di tale chiamata viene sommato a 1. A ogni passo ricorsivo il valore restituito aumenta di uno mentre la lista si riduce di un elemento.
Funzione length_hint() Copia link
La funzione length_hint() si trova nel modulo operator. Questo modulo contiene funzioni analoghe agli operatori interni di Python: addizione, sottrazione, confronto e così via. length_hint() restituisce la lunghezza di oggetti iterabili come stringhe, tuple, dizionari e liste. Funziona in modo simile a len():
from operator import length_hint
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)
print("There are", count, "countries")
Output:
There are 7 countriesNota che length_hint() deve essere importata prima dell’uso.
Conclusione Copia link
In questa guida abbiamo illustrato quattro modi per determinare la lunghezza di una lista in Python. A parità di condizioni, il metodo più efficiente è len(). Gli altri approcci sono principalmente giustificati quando si implementano classi personalizzate simili a una lista.