Sei sulla pagina 1di 8

Inicio Libros Tutoriales Eventos Foro Buscar

Libros / Algoritmos de Programacin con Python / Captulo 9. Diccionarios


/ 9.2. Utilizando diccionarios en Python

9.2. Utilizando diccionarios en


Python
De la misma forma que con listas, es posible definir un diccionario directamente con los
miembros que va a contener, o bien inicializar el diccionario vaco y luego agregar los
valores de a uno o de a muchos.

Para definirlo junto con los miembros que va a contener, se encierra el listado de
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
valores entre llaves, las parejas de clave y valor se separan con comas, y la clave y el
valor se separan con : .

punto = {'x': 2, 'y': 1, 'z': 4}

Para declararlo vaco y luego ingresar los valores, se lo declara como un par de llaves sin
nada en medio, y luego se asignan valores directamente a los ndices.

materias = {}
materias["lunes"] = [6103, 7540]
materias["martes"] = [6201]
materias["mircoles"] = [6103, 7540]
materias["jueves"] = []
materias["viernes"] = [6201]

Para acceder al valor asociado a una determinada clave, se lo hace de la misma forma
que con las listas, pero utilizando la clave elegida en lugar del ndice.

print materias["lunes"]

Sin embargo, esto falla si se provee una clave que no est en el diccionario. Es posible,
por otro lado, utilizar la funcin get , que devuelve el valor None si la clave no est en el
diccionario, o un valor por omisin que se establece opcionalmente.
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
>>> print materias["domingo"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'domingo'
>>> print materias.get("domingo")
None
>>> print materias.get("domingo", []) []

Existen diversas formas de recorrer un diccionario. Es posible recorrer sus claves y usar
esas claves para acceder a los valores.

for dia in materias:


print dia, ":", materias[dia]

Es posible, tambin, obtener los valores como tuplas donde el primer elemento es la
clave y el segundo el valor.

for dia, codigos in materias.items():


print dia, ":", codigos

Para verificar si una clave se encuentra en el diccionario, es posible utilizar la funcin


has_key o la palabra reservada in .
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
d = {'x': 12, 'y': 7}
if d.has_key('x'):
print d['x'] # Imprime 12
if d.has_key('z'):
print d['z'] # No se ejecuta
if 'y' in d:
print d['y'] # Imprime 7

Ms all de la creacin y el acceso, hay muchas otras operaciones que se pueden


realizar sobre los diccionarios, para poder manipular la informacin segn sean
nuestras necesidades, algunos de estos mtodos pueden verse en la referencia al final
de la unidad.

NOTA
El algoritmo que usa Python internamente para buscar un elemento en un
diccionario es muy distinto que el que utiliza para buscar en listas.

Para buscar en las listas, se utiliza un algoritmos de comparacin que tarda cada vez
ms a medida que la lista se hace ms larga. En cambio, para buscar en diccionarios
se utiliza un algoritmo llamado hash, que se basa en realizar un clculo numrico
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
sobre la clave del elemento, y tiene una propiedad muy interesante: sin importar
cuntos elementos tenga el diccionario, el tiempo de bsqueda es siempre
aproximadamente igual.

Este algoritmo de hash es tambin la razn por la cual las claves de los diccionarios
deben ser inmutables, ya que la operacin hecha sobre las claves debe dar siempre
el mismo resultado, y si se utilizara una variable mutable esto no sera posible.

No es posible obtener porciones de un diccionario usando [:] , ya que al no tener un


orden determinado para los elementos, no sera posible tomarlos en orden.

Anterior Siguiente
9.1. Qu es un diccionario 9.3. Algunos usos de diccionarios

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano,
Nicols Paez. La copia y redistribucin de esta pgina se permite bajo los trminos de la licencia Creative
Commons Atribucin - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
INDICE DE CONTENIDOS

1. Algunos conceptos bsicos

2. Programas sencillos

3. Funciones

4. Decisiones

5. Ms sobre ciclos

6. Cadenas de caracteres

7. Tuplas y listas

8. Algoritmos de bsqueda

Captulo 9. Diccionarios

9.1. Qu es un diccionario

9.2. Utilizando diccionarios en Python

9.3. Algunos usos de diccionarios

9.4. Resumen

9.5. Ejercicios

10. Contratos y Mutabilidad

11. Manejo de archivos

12. Manejo de errores y excepciones

13. Procesamiento de archivos

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
14. Objetos

15. Polimorfismo, Herencia y Delegacin

16. Listas enlazadas

17. Pilas y colas

18. Modelo de ejecucin de funciones y recursividad

19. Ordenar listas

20. Algunos ordenamientos recursivos

3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad

das online

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com