Anuncio

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 otro lado, indexa elementos por llaves que pueden ser cuerdas Piense en un diccionario como conjuntos desordenados de valor clave pares.

un par de clave-valor del diccionario python

En este artículo, le presentamos cómo trabajar con el diccionario de Python.

Crear un diccionario

Hay varias formas de crear un diccionario de Python. El más simple utiliza la inicialización de llaves, con una sintaxis que recuerda a JSON Cómo obtener Python y JavaScript para comunicarse usando JSONHoy 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 .

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27}

También puedes usar números como teclas. Sin embargo, tenga cuidado al usar números de coma flotante como teclas, ya que

instagram viewer
la computadora almacena estos como aproximaciones Todo lo que necesita saber sobre RAM y gestión de memoriaRAM es la memoria a corto plazo de su computadora. Por lo tanto, la administración de 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% '} print rain_percent. imprimir rain_percent [1980] # impresiones. {1980: '17%', 1981: '15%', 1982: '10%'} 17%

Especificación de pares de valores clave

También puede crear e inicializar un diccionario utilizando pares de valores de nombre como argumentos de palabras clave para dict () constructor.

población = dict (California = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) población impresa # impresiones. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Matriz de tuplas de valor clave

Otra forma de crear un diccionario es utilizar 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) población impresa # impresiones. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Dict Comprensión

La comprensión de dict proporciona una sintaxis genial para inicializar un dict si puede calcular los valores basados ​​en las claves. Lo siguiente inicializa un dict de números y valores cuadrados para un rango de números.

print {x: x ** 2 para x en xrange (10, 20)} # impresiones. {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 comprensión 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, puede acceder a elementos, actualizar valores, eliminar elementos, etc.

Acceso a elementos del diccionario Python

Acceda a un elemento de un dict utilizando la clave entre paréntesis, tal como lo haría una matriz o una lista Cómo funcionan las matrices y las listas en PythonLas matrices y las listas son algunas de las estructuras de datos más útiles en la programación, aunque pocas personas las utilizan en todo su potencial. Lee mas .

población impresa ['Delaware'] # impresiones. 897934.

Si la clave es un número, no necesita las comillas. La expresión parece una lista o indexación de matriz.

imprimir rain_percent [1980] # impresiones. 17%

El tipo de clave al acceder debe coincidir con lo que está almacenado en el diccionario 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' imprimir rain_percent [x] # resultados en 1 x = '1980' > 2 print rain_percent [x] KeyError: '1980'

Acceder a una clave inexistente es un error

rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} imprimir 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, utilice el obtener() método con valor predeterminado como segundo argumento.

print rain_percent.get (1985, '0%') # impresiones. 0%

Comprobación de existencia

¿Qué sucede si desea verificar la presencia de una clave sin realmente intentar 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. Cierto. Falso. 

Invierta la condición (es decir, asegúrese de que la clave no esté presente en el diccionario Python) utilizando el formulario clave no en dct. Esto es equivalente a la negación estándar de Python no clave en dct.

imprimir 1980 no en rain_percent. imprimir 1985 no en rain_percent. # impresiones. Falso. Cierto. 

Elementos modificadores

Cambie el valor asignándolo a la clave requerida.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} usuarios ['edad'] = 29. usuarios impresos. # impresiones. {'apellido': 'Smith', 'edad': 29, 'nombre': 'John'}

Use la misma sintaxis para agregar una nueva asignación al diccionario Python.

usuarios ['dob'] = '15 -sep-1971 ' usuarios impresos. # impresiones. {'dob': '15 -sep-1971 ',' apellido ':' Smith ',' edad ': 29,' nombre ':' John '}

Actualice varios elementos de un diccionario de una sola vez con el actualizar() método.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} users.update ({'edad': 29, 'dob': '15 -sep-1971 '}) usuarios impresos. # impresiones. {'dob': '15 -sep-1971 ',' apellido ':' Smith ',' edad ': 29,' nombre ':' 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 ('nombre', 'Jane') # impresiones. John # establece el valor. print users.setdefault ('ciudad', 'NY') # impresiones. NY # Valor final. usuarios impresos. # impresiones. {'apellido': 'Smith', 'edad': 27, 'nombre': 'John', 'ciudad': 'NY'}

Eliminar elementos

Eliminar asignaciones en el diccionario utilizando el del operador. Este operador no devuelve nada.

Te encontrarás con un KeyError si la clave no existe en el diccionario.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} del usuarios ['edad'] usuarios impresos. # impresiones. {'apellido': 'Smith', 'nombre': 'John'}

Utilizar el popular() en su lugar, cuando desee recuperar el valor eliminado.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} print users.pop ('edad') usuarios impresos. # impresiones. 27. {'apellido': 'Smith', 'nombre': 'John'}

¿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:

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} users.pop ('foo', Ninguno) usuarios impresos. # impresiones. {'apellido': 'Smith', 'edad': 27, 'nombre': 'John'}

Y aquí hay una línea para eliminar un montón de claves de un diccionario sin causar un error en las claves inexistentes.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27, 'dob': '15 -sep-1971 '} map (lambda x: users.pop (x, None), ['edad', 'foo', 'dob']) usuarios impresos.

¿Quieres eliminar todas las claves de un diccionario? Utilizar el claro() método.

usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} users.clear () usuarios impresos. # impresiones. {}

Bucle con diccionarios de Python

Python proporciona muchos métodos para bucles Cómo funcionan los bucles Do-While en la programación de computadorasLos bucles son uno de los primeros tipos de control que aprenderá en la programación. Probablemente conozca los bucles while y for, pero ¿qué logra un bucle do-while? Lee mas sobre las entradas de un diccionario. Elija uno que se adapte a sus necesidades.

Bucle sobre llaves

  • El método más simple para procesar claves (y posiblemente valores) en secuencia usa un bucle de la forma:
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para k en usuarios: imprimir k, '=>', usuarios [k] # impresiones. apellido => Smith. edad => 27. nombre => John.
  • Usando el método iterkeys () funciona exactamente igual que el anterior. Elija qué forma desea usar.
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para k en users.iterkeys (): print k, '=>', users [k] # impresiones. apellido => Smith. edad => 27. nombre => John.
  • Un tercer método para recuperar y procesar claves en un bucle implica el uso de la función incorporada iter ().
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para k in iter (usuarios): imprimir k, '=>', usuarios [k] # impresiones. apellido => Smith. edad => 27. nombre => John.
  • Cuando necesite el índice de la clave que se está procesando, use el enumerar() función incorporada como se muestra.
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para el índice, ingrese enumerate (users): print index, key, '=>', users [k] # impresiones. 0 apellido => John. 1 edad => John. 2 nombre => John.

Bucle sobre pares de valor clave

  • Cuando desee recuperar cada par clave-valor con una sola llamada, use iteritems ().
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para k, v en users.iteritems (): print k, '=>', v. # impresiones. apellido => Smith. edad => 27. nombre => John.

Iterando sobre valores

  • El método itervalues ​​() se puede usar 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.
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para valor en users.itervalues ​​(): valor de impresión. # impresiones. Herrero. 27. Juan.

Extraer matrices

Los siguientes métodos describen la extracción de información diversa del diccionario Python en forma de matriz. La matriz resultante se puede recorrer usando construcciones python normales. Sin embargo, tenga en cuenta que la matriz devuelta puede ser grande dependiendo del tamaño del diccionario. Entonces podría ser más caro (en cuanto a memoria) procesar estas matrices que usar los métodos iteradores 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 RuntimeError.

  • El método artículos() devuelve una matriz de tuplas clave-valor. Puede iterar sobre estos pares clave-valor como se muestra:
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} para k, v en users.items (): print k, '=>', v. # impresiones. apellido => Smith. edad => 27. nombre => John.
  • Recupere todas las claves en el diccionario usando el método llaves().
    usuarios = {'nombre': 'John', 'apellido': 'Smith', 'edad': 27} print users.keys () # impresiones. ['apellido', 'edad', 'nombre']

    Use la matriz devuelta para recorrer las teclas.

    para k en users.keys (): print k, '=>', users [k] # impresiones. apellido => Smith. edad => 27. nombre => John.
  • De manera similar, use el método valores() para recuperar todos los valores en el diccionario.
    para valor en users.values ​​(): valor de impresión. # impresiones. Herrero. 27. Juan. 

¿Cómo se usan los diccionarios de Python?

Hemos tratado de cubrir los casos de uso más comunes para los diccionarios de Python en este artículo. Asegúrese de revisar todos nuestros otros artículos de Python 10 ejemplos básicos de Python que te ayudarán a aprender rápidoEste artículo de ejemplos básicos de Python es para aquellos que ya tienen algo de experiencia en programación y simplemente quieren hacer la transición a Python lo más rápido posible. Lee mas incluso para más consejos de Python 5 cursos que te llevarán de Python principiante a profesionalEstos cinco cursos le enseñarán todo sobre programación en Python, uno de los lenguajes más populares que existen en este momento. Lee mas . Si tiene otros casos de uso que considera que deberían incluirse, ¡infórmenos en los comentarios a continuación!

Créditos de imagen: viper345 / Shutterstock