Diccionario de Python Cómo puedes usarlo para escribir mejor código
Un diccionario de python es una estructura de datos similar a una matriz asociativa que se encuentra en otros lenguajes de programación. Una matriz o una lista indexa elementos por posición. Un diccionario, por otra parte, indexa elementos por llaves que puede ser cuerdas. Piense en un diccionario como conjuntos desordenados de valor clave pares.
En este artículo, le presentamos cómo trabajar con el diccionario de Python..
Creando un Diccionario
Hay varias formas de crear un diccionario de python. El más simple usa la inicialización de llaves, con una sintaxis que recuerda a JSON Cómo obtener Python y JavaScript para comunicarse con JSON Cómo obtener Python y JavaScript para comunicarse con JSON Hoy te mostraré cómo usar JSON para enviar datos desde JavaScript a Python . Cubriré cómo configurar un servidor web, junto con todo el código que necesita. Lee mas .
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27
Puedes usar números también como las teclas. Sin embargo, tenga cuidado al usar números de punto flotante como claves, ya que la computadora almacena estos datos como aproximaciones. Todo lo que necesita saber sobre la RAM y la administración de la memoria Todo lo que necesita saber sobre la RAM y la administración de la memoria RAM es la memoria a corto plazo de su computadora. Por lo tanto, la gestión de la memoria tiene un impacto significativo en el rendimiento del sistema. Aquí explicamos cómo funciona la RAM y si puede hacer algo para aumentar su eficiencia. Lee mas .
rain_percent = 1980: '17% ', 1981: '15%', 1982: '10% ' imprimir rain_percent imprimir rain_percent [1980] # prints 1980: '17%', 1981: '15% ', 1982: '10% ' 17%
Especificar pares clave-valor
También puede crear e inicializar un diccionario utilizando pares de valores de nombre como argumentos de palabras clave para el dict () constructor.
población = dict (California = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) imprimir población # impresiones 'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196)
Matriz de tuplas de valor clave
Otra forma de crear un diccionario es usar una matriz de tuplas de valor clave. Aquí está el mismo ejemplo que el anterior.
pares = [('California', 37253956), ('Colorado', 5029196), ('Connecticut', 3574097), ('Delaware', 897934)] población = dict (pares) imprimir población # huellas 'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196
Comprensión del dictado
La comprensión del dictado proporciona una sintaxis genial para inicializar un dictado si puede calcular los valores basados en las teclas. Lo siguiente inicializa un dictado de números y valores cuadrados para un rango de números.
imprima x: x ** 2 para x en xrange (10, 20) # imprime 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17 : 289, 18: 324, 19: 361
¿Como funciona? La última parte (para x en xrange (10, 20)) devuelve un rango de números en el rango especificado. La parte de la comprensión del dict (x: x ** 2 ...) recorre este rango e inicializa el diccionario.
Trabajando con un diccionario de Python
¿Qué puedes hacer con los diccionarios una vez que los hayas creado? Bueno, puedes acceder a elementos, actualizar valores, eliminar elementos, etc..
Accediendo a los elementos del diccionario de Python
Acceda a un elemento de un dict utilizando la clave entre corchetes, como lo haría con una matriz o una lista Cómo funcionan las matrices y listas en Python Cómo funcionan las matrices y listas en Python Las matrices y listas son algunas de las estructuras de datos más útiles en la programación. aunque pocas personas los utilizan en todo su potencial. Lee mas .
imprimir población ['Delaware'] # grabados 897934
Si la clave es un número, no necesita las comillas. La expresión entonces parece ser una lista o indexación de matriz.
print rain_percent [1980] # imprime 17%
El tipo de clave al acceder debe coincidir con lo que está almacenado en el diccionario de Python. Lo siguiente causa un error ya que las claves almacenadas son números mientras que la clave de acceso es una cadena.
x = '1980' print rain_percent [x] # da como resultado 1 x = '1980' ----> 2 print rain_percent [x] KeyError: '1980'
Accediendo a una clave inexistente es un error.
rain_percent = 1980: '17% ', 1981: '15%', 1982: '10% ' print rain_percent [1983] # imprime 1 rain_percent = 1980: '17%', 1981: '15% ', 1982 : '10% ' ----> 2 print rain_percent [1983] KeyError: 1983
Para acceder a una clave y proporcionar un valor predeterminado si la asignación no existe, use la obtener() Método con valor por defecto como segundo argumento..
print rain_percent.get (1985, '0%') # imprime 0%
Comprobando la existencia
¿Qué sucede si desea verificar la presencia de una clave sin intentar realmente acceder a ella (y posiblemente encontrar un KeyError como anteriormente)? Puedes usar el en palabra clave en el formulario clave en dct que devuelve un booleano.
imprimir 1980 en rain_percent imprimir '1980' en rain_percent # impresiones Verdadero Falso
Invierta la condición (es decir, asegúrese de que la clave no esté presente en el diccionario de Python) utilizando el formulario llave no en dct. Esto es equivalente a la negación estándar de Python. no teclear dct.
imprimir 1980 no en rain_percent imprimir 1985 no en rain_percent # impresiones Falso Verdadero
Modificando elementos
Cambie el valor asignando a la clave requerida.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 users ['age'] = 29 usuarios de impresión # imprime 'lastname': 'Smith', 'age': 29, 'nombre de pila': 'Juan'
Use la misma sintaxis para agregar una nueva asignación al diccionario de Python.
users ['dob'] = '15 -sep-1971 'print users # prints ' dob ': '15 -sep-1971', 'lastname': 'Smith', 'age': 29, 'firstname': ' Juan'
Actualice múltiples elementos de un diccionario en una sola toma usando el actualizar() método.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 users.update ('age': 29, 'dob': '15 -sep-1971 ') imprimir users # prints 'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '
Establecer un valor predeterminado para una clave usando establecer predeterminado(). Este método establece el valor de la clave si la asignación no existe. Devuelve el valor actual..
# no cambia el valor actual print users.setdefault ('firstname', 'Jane') # imprime John # establece value print users.setdefault ('city', 'NY') # imprime NY # Valor final print users # imprime ' lastname ':' Smith ',' age ': 27,' firstname ':' John ',' city ':' NY '
Borrando elementos
Eliminar mapeos en el diccionario usando el del operador. Este operador no devuelve nada..
Te encontrarás con un KeyError Si la clave no existe en el diccionario..
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 del users ['age'] imprimir usuarios # imprime 'lastname': 'Smith', 'firstname': ' Juan'
Utilizar el popular() método en su lugar, cuando desea recuperar el valor eliminado.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 print users.pop ('age') imprimir usuarios # imprime 27 'lastname': 'Smith', 'firstname ': 'Juan'
¿Qué sucede si desea eliminar una clave si existe, sin causar un error si no existe? Puedes usar popular() y especificar Ninguna para el segundo argumento como sigue:
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 users.pop ('foo', None) imprimir usuarios # imprime 'lastname': 'Smith', 'age ': 27,' nombre de pila ':' Juan '
Y aquí hay una sola línea para eliminar un montón de claves de un diccionario sin causar un error en las claves que no existen.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27, 'dob': '15 -sep-1971 ' map (lambda x: users.pop (x, Ninguno) , ['age', 'foo', 'dob']) imprimir usuarios
¿Quieres borrar todas las claves de un diccionario? Utilizar el claro() método.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 users.clear () imprimir usuarios # imprime
Bucle con diccionarios de Python
Python proporciona muchos métodos para hacer un bucle Cómo funcionan los bucles de hacer mientras que funcionan en la programación de computadoras Cómo funcionan los bucles de hacer mientras que los bucles de programación son uno de los primeros tipos de control que aprenderá en la programación. Probablemente sepa sobre el tiempo y para los bucles, pero ¿qué hace un bucle do-while? Lea más sobre las entradas de un diccionario. Elige uno que se adapte a tu necesidad.
Bucle sobre llaves
- El método más simple para procesar claves (y posiblemente valores) en secuencia utiliza un bucle de la forma:
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para k en usuarios: imprimir k, '=>', usuarios [k] # imprime lastname => Smith age = > 27 primer nombre => Juan
- Usando el metodo iterkeys () Funciona exactamente igual que el anterior. Haga su elección en cuanto a la forma que desea utilizar.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para k en users.iterkeys (): print k, '=>', users [k] # imprime lastname = > Smith edad => 27 nombre => Juan
- Un tercer método para recuperar y procesar claves en un bucle implica el uso de la función incorporada iter ().
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para k en iter (usuarios): imprimir k, '=>', usuarios [k] # imprime lastname => Smith edad => 27 primer nombre => Juan
- Cuando necesite el índice de la clave que se está procesando, use el enumerar() función incorporada como se muestra.
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 for index, ingrese la enumeración (usuarios): imprimir índice, clave, '=>', usuarios [k] # imprime 0 lastname => John 1 age => John 2 firstname => John
Bucle sobre pares clave-valor
- Cuando desee recuperar cada par clave-valor con una sola llamada, use iteritems ().
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para k, v en users.iteritems (): print k, '=>', v # imprime lastname => Smith edad => 27 primer nombre => Juan
Iterando sobre los valores
- El método itervalues () se puede utilizar para iterar sobre todos los valores del diccionario. Aunque este método se parece a un bucle usando valores(), Es más eficiente ya que no extrae todos los valores a la vez..
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para value in users.itervalues (): imprimir valor # imprime Smith 27 John
Extracción de matrices
Los siguientes métodos describen cómo extraer información del diccionario de Python en forma de matriz. La matriz resultante se puede enlazar utilizando construcciones de python normales. Sin embargo, tenga en cuenta que la matriz devuelta puede ser grande dependiendo del tamaño del diccionario. Así que podría ser más caro (en memoria) para procesar estas matrices que utilizar los métodos de iterador anteriores.
Un caso en el que es aceptable trabajar con estas matrices es cuando necesita eliminar elementos del diccionario cuando encuentra elementos no deseados. Trabajar con un iterador mientras se modifica el diccionario puede causar un error RuntimeError.
- El método artículos() devuelve una matriz de tuplas clave-valor. Puede iterar sobre estos pares clave-valor como se muestra:
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 para k, v en users.items (): print k, '=>', v # imprime lastname => Smith edad => 27 primer nombre => Juan
- Recupera todas las claves del diccionario utilizando el método. llaves().
users = 'firstname': 'John', 'lastname': 'Smith', 'age': 27 print users.keys () # imprime ['lastname', 'age', 'firstname']
Utilice la matriz devuelta para recorrer las claves.
para k en users.keys (): print k, '=>', users [k] # imprime lastname => Smith age => 27 firstname => John
- De manera similar, utilice el método. valores() para recuperar todos los valores en el diccionario.
para el valor en users.values (): print value # prints Smith 27 John
¿Cómo se usan los diccionarios de Python??
En este artículo, hemos tratado de cubrir los casos de uso más comunes para los diccionarios de Python. Asegúrese de revisar todos nuestros otros artículos de Python. 10 Ejemplos básicos de Python que lo ayudarán a aprender rápidamente. 10 Ejemplos básicos de Python que lo ayudarán a aprender rápido. Este artículo de ejemplos básicos de Python es para aquellos que ya tienen algo de experiencia en programación y simplemente desean transición a Python lo más rápido posible. Lee más para obtener aún más consejos de Python 5 cursos que te llevarán de principiante a profesional de Python 5 cursos que te llevarán de principiante a profesional de Python Estos cinco cursos te enseñarán todo sobre la programación en Python, uno de los idiomas más populares del mundo. ahora mismo. Lee mas . Si tiene otros casos de uso que debería incluir, háganoslo saber en los comentarios a continuación.!
Créditos de la imagen: viper345 / Shutterstock
Explorar más sobre: Python.