Diccionarios avanzados de Python

Diccionarios avanzados de Python

Introducción

Ya se ha familiarizado con los diccionarios, pero al igual que las otras estructuras de datos que admite Python, existen métodos y formas más potentes de usarlos. No hay tantos métodos para trabajar con diccionarios como para las listas, pero eso se debe a que los diccionarios simplemente no los necesitan. Además, muchos de los que existen, trabajan para dividir los diccionarios en listas y tuplas para que sean más fáciles de administrar. Por lo tanto, esos métodos de lista se pueden usar junto con los de diccionario para crear una máquina eficiente para manejar datos.

Métodos de diccionario

Elementos, claves y valores

Estos métodos funcionan para dividir los diccionarios en otras estructuras de datos para que trabajar con ellos sea mucho más manejable. Hacerlo también da acceso a los métodos de esas estructuras de datos. A través de estas combinaciones de métodos y bucles, puede acceder y manipular datos con facilidad.

El primer método es elementos(). Desglosa cada entrada en el diccionario en una tupla y los almacena todos en una lista.

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'Gentoo': 'Emerge' Distro_install_List = Distro_install_command.elementos () print (distribuy_install_list) print (distribuy_install_list [3] [1]) 

Todo se descompone exactamente como esperarías que.

El siguiente método le brinda acceso a las claves en el diccionario en forma de una lista.

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'Gentoo': 'Emerge' Distro_Names = Distro_install_command.Keys () para Distro en Distro_Names: Print (Distro) 

El nuevo Distro_names La lista se comporta como cualquier otro y se puede recorrer de la misma manera.

El último método es el mismo que antes, pero en lugar de recuperar las teclas, este obtiene los valores. Debería ser bastante obvio que ahora se llama valores().

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'Gentoo': 'Emerge' Distro_commands = Distro_install_command.valores () para comando en distribro_commands: print (comando) 

Valores de diccionario en cadenas

Este no es un método ni nada demasiado complejo, pero surgirán situaciones cuando desee insertar valores directamente de un hash en una cadena, y no funciona como piensas. El De % El operador realmente mira el diccionario como un todo y extrae valores de las teclas dentro de él para sustituirlos en una cadena.

book_info = 'Title': 'Learning Python', 'Páginas': 342, 'PUB_Date': 'Noviembre 2016', 'Capítulos': 14, Impresión ("El libro se llama %(Título) S, y era Lanzado en %(PUB_DATE) S. Es %(páginas) d páginas largas con %(capítulos) d capítulos." % book_info) 

Como puede ver, es solo una forma más conveniente de manejar la inserción de los valores de un diccionario. El uso del método regular puede ser muy repetitivo y engorroso, incluso con solo unas pocas entradas.

Iterando sobre diccionarios

Iterar sobre los diccionarios no es tan simple como probablemente pensaría. Debido a que los diccionarios operan utilizando pares de valores, la forma numéricamente basada en las listas no funciona del todo. Dale una oportunidad y mira qué pasa.

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'Gentoo': 'Emerge' para Distro en Distro_install_Command: Print (Distro) 

Entonces qué pasó? Funcionó, pero las únicas cosas generadas fueron las claves. Probablemente pueda adivinar una forma de obtener los valores también, y funcionará, pero no es tan elegante de una solución.

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'gentoo': 'emerge' para la distribución en distribución_install_command: print ("La distribución es %s, y usa el comando %s." % (Distro, Distro_install_command [Distro])) 

Hay una mejor manera de manejar esto, y hace uso de la elementos() método. Si recuerdas de antes, el elementos() El método crea una lista de tuplas que contienen las claves y valores del diccionario.

Distro_install_command = 'Debian': 'apt-get', 'ubuntu': 'apt-get', 'fedora': 'dnf', 'centos': 'yum', 'openSUSE': 'zypper', 'arco' : 'Pacman', 'gentoo': 'emerge' para distribución, comando en distribución_install_command.elementos (): imprimir ("La distribución es %s, y usa el comando %s." % (distribución, comando)) 

Que parece volar frente a algo que aprendiste anteriormente, ¿no?? ¿Cómo es eso para la creación de dos variables temporales para acceder a los elementos en una lista bidimensional?? Bueno, esta es en realidad una funcionalidad integrada en Python para este tipo de cosas. Desafortunadamente, no siempre funciona bien con listas multidimensionales porque requiere que cada lista dentro de la lista multidimensional sea del mismo tamaño. Con un diccionario, sabe que siempre trabajará con pares de valores, pero las listas multidimensionales podrían contener listas de cualquier tamaño. Por eso esta es realmente una gran solución cuando se trabaja con diccionarios.

Conclusión

Mediante el uso de métodos e iteración, puede dividir los diccionarios en un formulario con mucho más fácil trabajar con. Al combinar la funcionalidad de los diccionarios con la funcionalidad disponible para listas y tuplas, obtiene herramientas increíblemente potentes para manejar datos.

Tabla de contenido

  1. Guía de introducción e instalación de Python
  2. Archivos de python y el intérprete
  3. Experimentar con números y texto en Python
  4. Variables de pitón
  5. Trabajar con variables numéricas en Python
  6. Python String Basics
  7. Cuerdas avanzadas de pitón
  8. Comentarios de Python
  9. Listas de Python
  10. Métodos de la lista de Python
  11. Listas multidimensionales de Python
  12. Python tuples
  13. Operadores booleanos de Python
  14. Python si las declaraciones
  15. Python mientras bucle
  16. Python para bucles
  17. Diccionarios de Python
  18. Diccionarios avanzados de Python
  19. Funciones de Python

Tutoriales de Linux relacionados:

  • Mastering Bash Script Loops
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Bucles anidados en guiones Bash
  • Cómo trabajar con la API REST de WooCommerce con Python
  • Manejo de la entrada del usuario en scripts bash
  • Cosas para instalar en Ubuntu 20.04
  • Manipulación de Big Data para la diversión y las ganancias Parte 1
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Comparación de Linux Apache Prefork vs Worker MPMS
  • Introducción a Yaml con ejemplos