lunes, 6 de febrero de 2012

DICCIONARIOS PYTHON! [:-)]

**************************

Un diccionario es una estructura de datos que se caracteriza por realizar la indexación a sus datos por medio de una palabra o clave. En lugar de que el índice de la estructura sea un entero, en el diccionario la clave puede ser cualquier valor, un entero, un carácter o una palabra.

El formato típico de los diccionarios es el siguiente:

Diccionario = <clave, valor>

En donde la clave es el índice por el cual se accede al valor que le corresponde.

En Python se mantiene dicha nomenclatura para lo que son los diccionarios. En el siguiente ejemplo se puede observar como crear un diccionario en Python.

>>> dictPersona = {}
>>> dictPersona["nombre"] = "Pedro"
>>> dictPersona["apellido"] = "Andrade"
>>> dictPersona["dni"] = 31914936
>>> print dictPersona
{'nombre': 'Pedro', 'dni': 31914936, 'apellido': 'Andrade'}
>>> print dictPersona["nombre"]
Pedro

Los diccionarios son una estructura de datos fundamental cuando se quiere trabajar con Bases de Datos, ya que la mayoría de los ORM (Modelo Objeto-Relacional), utilizan listas de diccionarios para devolver el contenido de las consultas. Esto se debe a que la lista de diccionarios debe ser la forma mas cómoda y natural de representar una tabla, ya que los distintos elementos de la lista representarían cada uno de los reglones/registros y cada una de las tuplas Clave:Valor, reprensaría las columnas.

>>> tablaPersona = [{"nombre": "Jose", "apellido": "Thomas"},
...                 {"nombre": "Marcos", "apellido": "Aguirre"},
...                 {"nombre": "Rodolfo", "apellido": "Ricardi"}]


>>> for dict in tablaPersona:
...     print "-----------------------------"
...     for clave in dict.keys():
...             print str(clave) + "  =  " + str(dict[clave])
...     print "-----------------------------"
...


-----------------------------
nombre  =  Jose
apellido  =  Thomas
-----------------------------
-----------------------------
nombre  =  Marcos
apellido  =  Aguirre
-----------------------------
-----------------------------
nombre  =  Rodolfo
apellido  =  Ricardi
-----------------------------

El utilizar diccionarios nos da independencia de la posición física del dato dentro de la estructura.

Por ejemplo si tenemos el vector Persona y lo definimos de la siguiente manera:

>>> persona = ["Sebastian", "Schanz"]
>>> def mostrarPersonaVector(persona):
...     print "Nombre: " + persona[0]
...     print "Apellido: " + persona[1]
...
>>> mostrarPersonaVector(persona)
Nombre: Sebastian
Apellido: Schanz
>>> persona.insert(0,"31914934")
>>> mostrarPersonaVector(persona)
Nombre: 31914934
Apellido: Sebastian

Si tienes alguna consulta no dudes en dejar tu comentario que tratare de darte una mano a la mayor brevedad posible!...

Recorda que esto es una simple muestra de la potencia que tienen los diccionarios de Python y de cualquier lenguaje.

No hay comentarios:

Publicar un comentario