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.
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().
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))Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2Implementazione 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
Scopri i modi più Pythonici per verificare se una lista è vuota in Python. Confronta i controlli booleani impliciti con i confronti di lunghezza.
Come ordinare un elenco in PythonScopri come ordinare un elenco in Python utilizzando il metodo sort() e la funzione sorted(). Scopri l'ordinamento delle chiavi personalizzato e gli esempi di ordine inverso.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Elenchi Python
Scopri tutto sugli elenchi Python. Scopri come creare, suddividere, modificare ed eseguire l'iterazione degli array in Python in modo nativo.
Foglio informativo sui metodi dell'elenco Python
Guida di riferimento rapido per le operazioni sugli elenchi Python. Impara ad aggiungere, inserire, rimuovere, ordinare e affettare gli elementi.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.