Diccionarios en Python
python
Los diccionarios son estructuras de datos que almacena una serie de valores utilizando otros como referencia para su acceso y almacenamiento. Los diccionarios se asemejan a los arreglos asociativos de PHP o a los objetos JSON de JavaScript ya que cada elemento es un par de clave valor, donde el primero debe ser único y será utilizado para obtener el dato almacenado. Al igual que las listas, los diccionarios son mutables e iterables y representan una colección de objetos que pueden ser de diferentes tipos, pero no tienen un orden específico, ya que el intérprete de Python se encarga de eso.
Declaración
Para declarar un diccionario se utilizan las llaves ({ }) entre las que se encuentran los pares clave – valor separados por comas, la clave de cada elemento está separada del correspondiente valor por dos puntos (:) en el siguiente ejemplo se muestra como declarar un diccionario.
Diccionario = {'a':1,'b':2,'c':3}
Otra manera de declarar un diccionario es utilizando la función dict().
Diccionario = dict(a=1, b=2, c=3)
Acceso, inserciones y borrados
Como lo vimos en el artículo de tuplas, para acceder a los elementos de esta, tenemos que usar el índice en función a la posición que ocupa cada de elemento. Los diccionarios, en cambio necesitamos utilizar la clave para accesar al valor de cada elemento. Usando nuestro ejemplo anterior para accesar al valor de 1 pondremos lo siguiente
Diccionario ['a']
Para modificar cualquier elemento basta con acceder con su clave de la siguiente manera:
Diccionario ['a'] = 2
Con esto el elemento con clave ‘a’ pasa a tener un valor de 2.
Para añadir un elemento es lo mismo que al modificar uno ya existente, ya que si la clave no existe se agrega automáticamente y se le añadirá su correspondiente valor.
Para iterar sobre los diccionarios tenemos tres métodos propios de esta estructura de datos: ítems (), values (), keys (). Por su nombre nos damos una idea de lo que realizan, el primero nos da acceso tanto a claves como a valores, el segundo nos devuelve los valores, y el tercero solo nos devuelve las claves del diccionario. Veamos a estos métodos en acción:
1 2 3 4 5 6 |
for k , v in Diccionario.items(): print ("Clave = {0}, valor = {1}".format(k , v)) #La salida a esto sería Clave = a, vslor = 1 Clave = b, vslor = 2 Clave = c, vslor = 3 |
1 2 3 4 5 6 |
for k in Diccionario.keys(): print ("Clave = {0}".format(k)) #La salida a esto sería Clave = a Clave = b Clave = c |
1 2 3 4 5 6 |
for v in Diccionario.values(): print ("Clave = {0}".format(v)) #La salida a esto sería valor = 1 valor = 2 valor = 3 |
Cabe mencionar que al usar ítems() nos genera una lista y dentro de esta lista en cada posición hay tuplas con la clave y valor, en los dos últimos métodos nos genera una lista.
Para eliminar elementos usaremos la función del() para ello , necesitaremos parar como parámetro la clave que contiene el valor que deseamos eliminar. Por ejemplo para eliminar la clave ‘c’ hacemos lo siguiente del( Diccionario['c'])
Otra función integrada , en este caso len() también funciona sobre los diccionarios, devolviéndonos el numero total de elementos contenidos.
El operador in en un diccionario sirve para comprobar si una clave existe. En caso afirmativo devolverá el valor de True y False en otro caso: x in Diccioanario nos devolverá False