Saltar al contenido

Python – Diccionario

septiembre 23, 2021

Cada clave está separada de su valor por dos puntos (:), los elementos están separados por comas y todo está entre llaves. Un diccionario vacío sin elementos se escribe con solo dos llaves, como esta: {}.

Las claves son únicas dentro de un diccionario, mientras que los valores pueden no serlo. Los valores de un diccionario pueden ser de cualquier tipo, pero las claves deben ser de un tipo de datos inmutable, como cadenas, números o tuplas.

Acceder a valores en el diccionario

Para acceder a los elementos del diccionario, puede utilizar los familiares corchetes junto con la clave para obtener su valor. A continuación se muestra un ejemplo simple:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

Cuando se ejecuta el código anterior, produce el siguiente resultado:

dict['Name']:  Zara
dict['Age']:  7

Si intentamos acceder a un elemento de datos con una clave, que no es parte del diccionario, obtenemos un error de la siguiente manera:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']

Cuando se ejecuta el código anterior, produce el siguiente resultado:

dict['Alice']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Actualizar diccionario

Puede actualizar un diccionario agregando una nueva entrada o un par clave-valor, modificando una entrada existente o eliminando una entrada existente como se muestra a continuación en el ejemplo simple:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Cuando se ejecuta el código anterior, produce el siguiente resultado:

dict['Age']:  8
dict['School']:  DPS School

Eliminar elementos del diccionario

Puede eliminar elementos individuales del diccionario o borrar todo el contenido de un diccionario. También puede eliminar el diccionario completo en una sola operación.

Para eliminar explícitamente un diccionario completo, simplemente use el del declaración. A continuación se muestra un ejemplo simple:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Esto produce el siguiente resultado. Tenga en cuenta que se genera una excepción porque después del dict el diccionario ya no existe –

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Nota – El método del () se analiza en la sección siguiente.

Propiedades de las claves del diccionario

Los valores del diccionario no tienen restricciones. Pueden ser cualquier objeto de Python arbitrario, ya sean objetos estándar u objetos definidos por el usuario. Sin embargo, no ocurre lo mismo con las claves.

Hay dos puntos importantes para recordar acerca de las claves del diccionario:

(a) No se permite más de una entrada por clave. Lo que significa que no se permiten claves duplicadas. Cuando se encuentran claves duplicadas durante la asignación, la última asignación gana. Por ejemplo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']

Cuando se ejecuta el código anterior, produce el siguiente resultado:

dict['Name']:  Manni

(B) Las claves deben ser inmutables. Lo que significa que puede usar cadenas, números o tuplas como claves de diccionario, pero algo como [‘key’] No se permite. A continuación se muestra un ejemplo simple:

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']

Cuando se ejecuta el código anterior, produce el siguiente resultado:

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {['Name']: 'Zara', 'Age': 7};
TypeError: unhashable type: 'list'

Funciones y métodos de diccionario integrados

Python incluye las siguientes funciones de diccionario:

No Señor. Función con descripción
1 cmp (dict1, dict2)

Compara elementos de ambos dict.

2 len (dictar)

Da la longitud total del diccionario. Esto sería igual al número de elementos del diccionario.

3 str (dictar)

Produce una representación de cadena imprimible de un diccionario.

4 tipo (variable)

Devuelve el tipo de variable pasada. Si la variable pasada es diccionario, devolvería un tipo de diccionario.

Python incluye los siguientes métodos de diccionario:

close