Come trovare la lunghezza di una lista in Python

Scopri come trovare la lunghezza di una lista in Python usando la funzione len(). Comprendere la complessità del tempo O(1) e i conteggi di controllo.

Prova questa soluzione nell'editor

Panoramica

Conoscere il numero di elementi in una raccolta è fondamentale quando si convalida l'input dell'utente, si dividono i dati in blocchi più piccoli, si effettuano query API di paging o si scrivono iterazioni di loop. In Python, puoi trovare la dimensione o la lunghezza di qualsiasi raccolta utilizzando la semplice funzione incorporata `len()`.

Dietro le quinte, la struttura dell'elenco di Python è implementata come un array di lunghezza variabile. Contiene un contatore interno che tiene traccia del numero di elementi che contiene. Quando chiami `len(my_list)`, Python non attraversa la lista per contare gli elementi; legge semplicemente questo contatore interno. Ciò significa che la complessità temporale di "len()" è sempre O(1) (tempo costante), rendendolo eccezionalmente veloce indipendentemente dalla dimensione dell'elenco.

La funzione `len()` è generica e funziona su qualsiasi oggetto iterabile che implementa il metodo magico `__len__`. Ciò significa che puoi utilizzare esattamente la stessa sintassi per trovare la lunghezza di tuple, stringhe, dizionari, set e istanze di classi personalizzate, mantenendo una coerenza pulita in tutta la base di codice.

Codice e output di esecuzione

Questo script dimostra come trovare la lunghezza di elenchi, stringhe e dizionari utilizzando la funzione len().

list_length.py
Prova nell'editor
empty = []
numbers = [10, 20, 30, 40, 50]
words = ["python", "code", "run"]

# 1. Finding lengths of lists
print("Empty list length:", len(empty))
print("Numbers list length:", len(numbers))

# 2. Finding length of a string
text = "Hello, World!"
print("String length:", len(text))

# 3. Finding length of a dictionary
details = {"id": 1, "name": "Alice"}
print("Dictionary length:", len(details))
Uscita terminale
Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2

Implementazione passo dopo passo

  • Chiama la funzione len() e passa la variabile di lista come unico argomento.
  • Memorizza il numero intero restituito in una variabile o stampalo/valutalo direttamente.
  • Utilizza il risultato in condizioni o calcoli matematici (come l'indicizzazione).

Domande frequenti

Perché len() è così veloce in Python?

Perché le raccolte integrate di Python memorizzano internamente il conteggio degli elementi. La chiamata a len() legge semplicemente un campo struct senza eseguire alcuna iterazione.

Cosa succede se chiamo len() su un oggetto di classe personalizzata?

Solleverà un TypeError a meno che tu non definisca il metodo magico __len__(self) all'interno della definizione della classe personalizzata.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.