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.

  • ๐Ÿ”ข Sintassi: len(object) accetta un singolo argomento e restituisce un numero intero, ovvero il numero totale di elementi contenuti nell'oggetto.
  • ๐Ÿ”  Stringhe: Per una stringa, la funzione len() conta ogni carattere, inclusi spazi, cifre e segni di punteggiatura.
  • ๐Ÿ“ฆ Collezioni: La funzione len() misura la dimensione di liste, tuple, dizionari, insiemi e oggetti range allo stesso modo.
  • โš™๏ธ Performance: len() viene eseguito in tempo costante O(1) perchรฉ Python memorizza la lunghezza di ciascun oggetto come attributo.
  • ๐Ÿšซ Tipo di errore: La chiamata al metodo len() su un intero o su None genera un TypeError, poichรฉ questi tipi non hanno lunghezza.
  • ๐Ÿค– Assistenza AI: Gli assistenti di programmazione basati sull'IA generano controlli con la funzione len(), e le pipeline di apprendimento automatico utilizzano len() per riempire e raggruppare le sequenze.

Python funzione len()

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

DOMANDE FREQUENTI

Sรฌ. len() conta ogni carattere in una stringa, inclusi spazi, tabulazioni, cifre e segni di punteggiatura. Ad esempio, len(โ€œGuru 99!โ€) restituisce 8, perchรฉ lo spazio e il punto esclamativo vengono contati ciascuno come un carattere.

La funzione len() restituisce 0 per una stringa vuota, perchรฉ non contiene caratteri. La funzione len() non รจ indicizzata a partire da zero; conta gli elementi a partire da uno, quindi len("a") restituisce 1 e len("") restituisce 0.

Gli interi non memorizzano piรน elementi, quindi non hanno lunghezza. La chiamata a len(123) genera "TypeError: object of type 'int' has no len()". Converti prima il numero con len(str(123)) quando vuoi contarne le cifre.

Sรฌ. Per un dizionario, len() restituisce il numero di coppie chiave-valore, contando ogni coppia una sola volta. Per un insieme, len() restituisce il numero di elementi unici, poichรฉ un insieme scarta automaticamente i valori duplicati.

La funzione len() restituisce il numero di punti di codice Unicode in una stringa, quindi la maggior parte delle lettere accentate e dei simboli vengono conteggiati come uno. Tuttavia, alcune emoji e caratteri combinati utilizzano piรน punti di codice, quindi len() puรฒ restituirne piรน di uno per questi.

Passa len come chiave alla funzione max(): max(words, key=len) restituisce la stringa piรน lunga nella lista. Allo stesso modo, min(words, key=len) restituisce la piรน corta. Questo evita di dover scrivere un ciclo manuale per confrontare ogni lunghezza.

Le pipeline di machine learning utilizzano costantemente la funzione len() per verificare le dimensioni dei dataset, confermare la corrispondenza tra caratteristiche ed etichette e misurare la lunghezza delle sequenze. I modelli spesso aggiungono padding o troncano il testo fino a raggiungere una lunghezza pari a len() in modo che i batch di dati abbiano la stessa forma.

Sรฌ. GitHub Copilot completa automaticamente i controlli len() e i cicli di conteggio a partire da un breve commento che descrive il tuo obiettivo. Gli assistenti AI di Agentic vanno oltre, scrivendo la logica di validazione della lunghezza, aggiungendo clausole di protezione contro TypeError ed eseguendo i tuoi test al posto tuo.

Riassumi questo post con: