Los diccionarios de Python son una excelente manera de tener sus datos en forma de pares de valores clave, al igual que el JSON. Sin embargo, convertirse en un buen programador requiere que sea bueno en la optimización de su código y su funcionamiento. Para hacer esto, el primer paso es tomar conciencia del tamaño de los elementos que está utilizando y el uso/almacenamiento de la memoria que están consumiendo.
Esta publicación actuará como su guía para encontrar la longitud de los diccionarios de Python y contendrá las siguientes secciones:
Método 1: Use el método Len () para encontrar la longitud del diccionario
El len () es un método integrado que se utiliza para contrarrestar la longitud de varios elementos en Python. Cuando este método se utiliza para encontrar la longitud de un diccionario de Python, funciona como un contador y devuelve el número total de pares de valor clave dentro de ese diccionario.
Para demostrar el uso del método Len () en el caso del diccionario de Python, tome el siguiente código:
dictvar = "nombre": "John Doe", "edad": 20, "social": "linuxhint"
Imprimir (Len (dictvar))
Cuando se ejecuta este código, mostrará la longitud del diccionario como:
Como puede ver, el método len () devuelve el número de pares de valor clave en el diccionario, que es "3".
Método 2: use el método Len () para obtener la longitud de un diccionario anidado
Si está intentando aplicar el método len () en una lista anidada, solo obtendrá el número de pares de valor clave no anidados. Por ejemplo, tome el siguiente código:
dictvar = 'personas':
'John': 'Doe', 'Johny': 'Wick', 'Rudy': 'Smith',
'Alimento':
'Fast': 'Burger', 'FastFood': 'Ham', 'Steak': 'Medium'
Imprimir (Len (dictvar))
Ejecutar este código imprimirá el siguiente resultado:
Esta respuesta no es correcta ni incorrecta. Si hablas de este "dictvar", entonces tiene dos elementos. Sin embargo, si hablara sobre sus elementos anidados, entonces tiene más elementos que 2. En tales casos, debe aplicar el método Len () en cada elemento principal y sumar el resultado:
dictvar = 'personas':
'John': 'Doe', 'Johny': 'Wick', 'Rudy': 'Smith',
'Alimento':
'Fast': 'Burger', 'FastFood': 'Ham', 'Steak': 'Medium'
print (len (dictvar ['personas'])+len (dictvar ['comida']))
Esta vez, cuando se ejecute este programa, mostrará el número de pares de valor clave anidados como:
Como puede ver, el número de pares de valores clave anidados es 6.
Sin embargo, si desea encontrar toda la longitud del diccionario, lo que significa la longitud del diccionario principal y el diccionario anidado, simplemente use Len () en el diccionario principal y agréguelo:
dictvar = 'personas':
'John': 'Doe', 'Johny': 'Wick', 'Rudy': 'Smith',
'Alimento':
'Fast': 'Burger', 'FastFood': 'Ham', 'Steak': 'Medium'
print (len (dictvar)+len (dictvar ['personas'])+len (dictvar ['alimento'])))
Con esto, la salida se muestra como:
Esta salida significa que hay un total de 8 pares de valores clave, anidados y no anidados.
Método 3: use el método isInstance () para obtener toda la duración del diccionario anidado
Para determinar la longitud completa de un diccionario, también puede utilizar el método isInstance () junto con el método len (). El método isInstance () verifica si el valor en el primer argumento existe en la subclase.
Para demostrar el funcionamiento del método isInstance () para encontrar la longitud del diccionario, tome el siguiente código:
dictvar = 'personas':
'John': 'Doe', 'Johny': 'Wick', 'Rudy': 'Smith',
'Alimento':
'Fast': 'Burger', 'FastFood': 'Ham', 'Steak': 'Medium'
longitudVar = len (dictvar)
para un en dictvar.valores():
Si es ISInstance (a, dict):
longitudvar += len (a)
Imprimir ("La longitud del diccionario es", LongitudVar)
Cuando se ejecuta este código, producirá el siguiente resultado en el terminal:
La longitud del diccionario es "8".
Método 4: Use el método getSizeOf () para consumir la memoria por DICT
Si desea descubrir la memoria consumida por el diccionario en bytes, puede utilizar el método getSizeOf (). Sin embargo, para usar este método, necesita importar el módulo "SYS".
Para demostrar el funcionamiento del método getSizeOf (), use el siguiente fragmento de código:
Sys de importación
dictvar = 'personas':
'John': 'Doe', 'Johny': 'Wick', 'Rudy': 'Smith',
'Alimento':
'Fast': 'Burger', 'FastFood': 'Ham', 'Steak': 'Medium'
Imprimir (SYS.getizeOf (dictvar))
Esto imprimirá el siguiente resultado en el terminal:
Según el resultado, la memoria consumida por el diccionario "dictvar" es 184 bytes.
Conclusión
Para encontrar la longitud de una variable de diccionario en Python, el usuario puede hacer uso del método len (), que es un método integrado. Este método también puede funcionar para diccionarios anidados. Sin embargo, en el caso de los diccionarios anidados, no devolverá el recuento de pares de valor clave del dict anidado sino solo del dict de los padres. Para obtener el consumo de memoria del diccionario, el usuario puede utilizar el método getSizeOf () del paquete "SYS".