Lunghezza del dizionario Python

Lunghezza del dizionario Python

I dizionari di Python sono un ottimo modo per avere i tuoi dati sotto forma di coppie di valore chiave, proprio come il JSON. Tuttavia, diventare un buon programmatore richiede che tu sia bravo nell'ottimizzazione del tuo codice e nel suo funzionamento. Per fare ciò, il primo passo è diventare consapevoli delle dimensioni degli elementi che si sta utilizzando e dell'utilizzo/archiviazione della memoria che stanno consumando.

Questo post fungerà da guida per trovare la lunghezza dei dizionari di Python e conterrà le seguenti sezioni:

Metodo 1: utilizzare il metodo Len () per trovare la lunghezza del dizionario

Len () è un metodo integrato che viene utilizzato per contrastare la lunghezza di vari elementi in Python. Quando questo metodo viene utilizzato per trovare la lunghezza di un dizionario Python, funziona come un contatore e restituisce il numero totale di coppie di valore chiave all'interno di quel dizionario.

Per dimostrare l'uso del metodo Len () nel caso del dizionario di Python, prendi il seguente codice:

Dictvar = "Nome": "John Doe", "Age": 20, "Social": "LinuxHint"
stampa (len (dictvar))

Quando questo codice viene eseguito, mostrerà la lunghezza del dizionario come:

Come puoi vedere, il metodo Len () restituisce il numero di coppie di valore chiave nel dizionario, che è "3".

Metodo 2: utilizzare il metodo Len () per ottenere la lunghezza di un dizionario nidificato

Se stai cercando di applicare il metodo Len () su un elenco nidificato, otterrai solo il numero di coppie non nervose. Ad esempio, prendi il seguente codice:

dictvar = 'People':
"John": "Doe", "Johny": "Wick", "Rudy": "Smith",
'Cibo':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
stampa (len (dictvar))

L'esecuzione di questo codice stamperà il seguente risultato:

Questa risposta non è né giusta né sbagliata. Se parli di questo "dictvar", allora ha due elementi. Tuttavia, se dovessi parlare dei suoi elementi nidificati, allora ha più elementi di 2. In tali casi, è necessario applicare il metodo Len () su ciascun elemento genitore e sommare il risultato:

dictvar = 'People':
"John": "Doe", "Johny": "Wick", "Rudy": "Smith",
'Cibo':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
stampa (len (dictvar ['people'])+len (dictvar ['cibo']))

Questa volta, quando viene eseguito questo programma, visualizzerà il numero di coppie di valore chiave nidificato come:

Come puoi vedere, il numero di coppie di valore chiave nidificato è 6.

Tuttavia, se si desidera trovare l'intera lunghezza del dizionario, che significa la lunghezza del dizionario genitore e del dizionario nidificato, quindi usa semplicemente len () sul dizionario dei genitori e aggiungilo:

dictvar = 'People':
"John": "Doe", "Johny": "Wick", "Rudy": "Smith",
'Cibo':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
stampa (len (dictvar)+len (dictvar ['people'])+len (dictvar ['cibo']))

Con questo, l'output viene visualizzato come:

Questo output significa che ci sono un totale di 8 coppie di valore chiave, nidificate e non nervose.

Metodo 3: utilizzare il metodo isinstance () per ottenere l'intera durata del dizionario nidificato

Per capire l'intera lunghezza di un dizionario, è anche possibile utilizzare il metodo isinstance () insieme al metodo Len (). Il metodo isinstance () verifica se il valore nel primo argomento esiste nella sottoclasse.

Per dimostrare il funzionamento del metodo isinstance () per trovare la lunghezza del dizionario, prendi il seguente codice:

dictvar = 'People':
"John": "Doe", "Johny": "Wick", "Rudy": "Smith",
'Cibo':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
lunghezza = len (dictvar)
per un dictvar.valori():
Se isinstance (a, dict):
lunghezza += len (a)
stampa ("lunghezza del dizionario è", lunghezza)

Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale:

La lunghezza del dizionario è "8".

Metodo 4: usa il metodo getSizeof () per ottenere la memoria consumata da dict

Se si desidera capire la memoria consumata dal dizionario in byte, allora puoi utilizzare il metodo getSizeof (). Tuttavia, per utilizzare questo metodo è necessario importare il modulo "sys".

Per dimostrare il funzionamento del metodo getchizeof (), utilizzare il seguente frammento di codice:

Import sys
dictvar = 'People':
"John": "Doe", "Johny": "Wick", "Rudy": "Smith",
'Cibo':
'Fast': 'Burger', 'Fastfood': 'Ham', 'Steak': 'Medium'
Stampa (sys.getsizeof (dictvar))

Questo stamperà il seguente risultato sul terminale:

Secondo l'output, la memoria consumata dal dizionario "dictvar" è di 184 byte.

Conclusione

Per trovare la lunghezza di una variabile del dizionario in Python, l'utente può utilizzare il metodo Len (), che è un metodo integrato. Questo metodo può funzionare anche per i dizionari nidificati. Tuttavia, nel caso dei dizionari nidificati, non restituirà il conteggio delle coppie di valore chiave del dict nidificato ma solo del dict genitore. Per ottenere il consumo di memoria del dizionario, l'utente può utilizzare il metodo GetSizeOf () dal pacchetto "sys".