Cargando



Python - Diccionarios

En este tutorial veremos cómo trabajar con los diccionarios en Python, desde su definición, así como también algunos ejemplos.


jul 12 2014 03:05
Los diccionarios en Python son estructuras que nos permiten asociar un valor con un nombre, las mismas están bastante relacionadas con las listas. Es una funcionalidad nativa de Python que muchas veces lo podemos encontrar bajo el nombre de mapping.

Utilidad de un Diccionario en Python


El diccionario en Python tiene la misma funcionalidad que en uno de la vida real, simplemente nos permite ubicar el significado de una palabra, en nuestro caso es el valor de un nombre; esto nos puede servir para construir pequeñas bases de datos dentro de nuestro programa, para definir ubicaciones en un tablero de juegos, tipo coordenadas, etc.

Veamos cómo crear dos listas y como se asociarían:
>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
>>> numbers = ['2341', '9102', '3158', '0142', '5551']

Como vemos tenemos un listado de nombres y otro de números, los definimos todos como strings para que nos sea más sencillo trabajar con ellos, ahora veamos si quisiéramos acceder a un número utilizando un nombre como sería:
>>> numbers[names.index('Cecil')]

Como vemos no es nada óptimo, de hecho es bastante incómodo si acaso podría decirse de alguna forma, ahora si quisiéramos hacerla de esta forma:
>>> phonebook['Cecil']
3158

Esto que acabamos de ver es como funciona un diccionario.

Sintaxis del Diccionario


Los diccionarios se declaran de la siguiente forma:
phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

Como vemos el contenido va dentro de los corchetes y los referimos por pares donde la parte izquierda es el nombre y la derecha es el valor, separamos los elementos por comas y eso es todo, bastante simple de momento. Podemos también utilizar funciones para convertir a diccionarios otros mappings, diccionarios o listas, de forma que podamos incorporarlos a las estructuras que podamos definir dentro de nuestro programa y así poderlos utilizar. Veamos cómo funciona todo esto:
>>> items = [('name', 'Gumby'), ('age', 42)]
>>> d = dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d['name']
'Gumby'

Si nos fijamos tenemos una lista llamada items, esta contiene dos elementos emparejados, una vez que aplicamos la función dict, todo se transforma a formato diccionario y ya podemos trabajarlo como tal.
Otra forma que podemos trabajar la conformación de un diccionario con la función dict es utilizando argumentos de la siguiente forma:
>>> d = dict(name='Gumby', age=42)
>>> d
{'age': 42, 'name': 'Gumby'}

Como vemos esto se nos muestra como algo muy útil para poder utilizarlo dentro de nuestros programas.


Métodos de Diccionario


Dentro de nuestro tipo diccionario tenemos algunos métodos que podemos utilizar, vamos a describir alguno de los más utilizados.
  • Clear:Este método nos permite limpiar el diccionario, para utilizarlo utilizamos el siguiente código:
>>> d = {}
>>> d['name'] = 'Gumby'
>>> d['age'] = 42
>>> d
{'age': 42, 'name': 'Gumby'}

>>> returned_value = d.clear()
>>> d
{}
>>> print returned_value
None

Como podemos observar con tan solo una llamada al método clear pudimos limpiar nuestro diccionario sin mayores complicaciones.
  • Copy: Este método nos permite copiar nuestro diccionario en otra ubicación sin alterar la original, veamos cómo se define esto:

>>> x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
>>> y = x.copy()
>>> y['username'] = 'mlh'
>>> y['machines'].remove('bar')
>>> y
{'username': 'mlh', 'machines': ['foo', 'baz']}
>>> x
{'username': 'admin', 'machines': ['foo', 'baz']}

En este punto debemos notar algo interesante, si modificamos un valor en la copia, el original permanece intacto, sin embargo cuando removemos un valor en la copia, esto también ocurre en el original debido a que comparten el mismo espacio en memoria, es algo que debemos tener en cuenta cuando trabajamos con este método.

Con esto finalizamos nuestro tutorial de diccionarios, ya podemos utilizar estructuras de datos más complejas dentro de nuestro programa, como siempre sugerimos, es de suma importancia la práctica para de esta forma internalizar de la mejor forma el contenido y tener los conocimientos a la mano para su uso.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X