Python len() Funzione: come trovare la lunghezza della stringa
⚡ Riepilogo intelligente
Python len() è una funzione integrata che restituisce il numero di elementi in un oggetto, come ad esempio i caratteri in una stringa o gli elementi in una lista, tupla, dizionario o set.
Qual è la Python Funzione len()?
Migliori len () la funzione è una funzione integrata in PythonÈ possibile utilizzare la funzione len() per ottenere la lunghezza di una stringa, un array, una lista, una tupla, un dizionario e altri oggetti. Poiché il numero di elementi viene memorizzato nell'oggetto anziché essere ricalcolato ogni volta, len() consente di verificare rapidamente le dimensioni e di ottimizzare le prestazioni del programma.
Sintassi del Python funzione len()
Migliori Python La funzione len() utilizza la seguente sintassi:
len(value)
Scheda Sintetica
valore: L'oggetto specificato, come ad esempio una stringa, una lista, una tupla, un dizionario o un insieme, di cui si desidera misurare la lunghezza.
Valore di ritorno
La funzione len() restituisce un numero intero, ovvero il numero di caratteri in una stringa o il numero di elementi in un array, una lista o una collezione. Il significato esatto del valore restituito dipende dal tipo di oggetto passato come parametro:
- Stringhe: La funzione len() restituisce il numero di caratteri nella stringa, inclusi punteggiatura, spazi e ogni tipo di carattere speciale.
- Vuoto: Una stringa vuota o una collezione vuota restituisce 0, perché non contiene alcun elemento.
- Collezioni: La funzione integrata len() restituisce il numero di elementi memorizzati in una collezione.
- Tipo di errore: La funzione len() dipende dal tipo di oggetto che le viene passato. Passare un valore che non ha lunghezza, come un intero, genera un errore TypeError.
- Dizionario: Per un dizionario, ogni coppia chiave-valore viene conteggiata come un'unità, quindi len() restituisce il numero di chiavi.
Esempi di Python funzione len()
I seguenti esempi mostrano come utilizzare la funzione len() per trovare la lunghezza di diversi Python oggetti, tra cui una stringa, una lista, una tupla, un dizionario e un array.
Esempio 1: Come trovare la lunghezza di una stringa
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Produzione:
The length of the string is : 35
Esempio 2: Come trovare la lunghezza di una lista
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Produzione:
The length of the list is 4
Esempio 3: Come trovare la lunghezza di una tupla
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Produzione:
The length of the tuple is 3
Esempio 4: Come trovare la lunghezza di un dizionario
# to find the length of the Dictionary
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("The length of the Dictionary is", len(Dict))
Produzione:
The length of the Dictionary is 4
Esempio 5: Come trovare la lunghezza di un array
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Produzione:
The length of the Array is 4
Come trovare la lunghezza di una stringa senza len() in Python
La funzione len() è il modo più veloce e leggibile per misurare la lunghezza di una stringa, ma è anche possibile contare i caratteri manualmente. Questo è un esercizio comune nei colloqui di programmazione e ogni metodo consiste semplicemente nell'eseguire un ciclo sulla stringa incrementando un contatore.
L'approccio più comune utilizza un ciclo for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Produzione:
The length is 6
Un'opzione più breve utilizza la funzione sum() con un'espressione generatrice, aggiungendo 1 per ogni carattere della stringa:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Produzione:
The length is 6
Altri modi per contare i caratteri senza usare len() includono i seguenti:
- Un ciclo while che suddivide la stringa in sezioni finché non diventa vuota, incrementando un contatore a ogni passaggio.
- La funzione enumerate(), che tracks l'indice di ogni carattere durante l'iterazione.
- Una funzione ricorsiva che restituisce 1 più la lunghezza della sottostringa rimanente.
Questi metodi manuali sono più lenti della funzione integrata len(), quindi è consigliabile utilizzarli solo per scopi didattici o per esercitarsi in vista di un colloquio di lavoro. Nel codice di tutti i giorni, len() rimane l'opzione più veloce e chiara.
Come fa il Python Come funziona internamente la funzione len()?
Capire come funziona len() spiega perché è così veloce. Quando chiami len() su un oggetto, Python Non analizza ogni elemento singolarmente. Al contrario, chiama il metodo speciale __len__() dell'oggetto, il che significa che l'espressione len(x) è equivalente a x.__len__().
I contenitori predefiniti come stringhe, liste, tuple, dizionari e insiemi memorizzano la propria dimensione come attributo. Ogni volta che aggiungi o rimuovi un elemento, Python aggiorna questo conteggio memorizzato. Quando viene chiamata la funzione len(), questa legge semplicemente il valore pre-memorizzato e lo restituisce.
Poiché la lunghezza è già nota, len() viene eseguito in tempo costante, ovvero O(1). Richiede lo stesso tempo sia che l'oggetto contenga cinque elementi o cinque milioni. È anche possibile aggiungere il supporto per len() alle proprie classi definendo un metodo __len__() che restituisce un intero:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Produzione:
11
Questa progettazione è il motivo per cui len() si comporta in modo coerente con tutti i tipi predefiniti, così come con qualsiasi oggetto personalizzato che implementi un metodo __len__().
" Impara di più riguardo Python Metodi delle stringhe

