Inicio > Inmersión en Python > Conozcamos Python > Todo sobre los diccionarios | << >> | ||||
diveintopython.org Python para programadores con experiencia |
A continuación una breve digresión para conocer los diccionarios, las tuplas y las listas (¡oh, no!). Si es usted un hacker de Perl, probablemente pueda saltarse la parte sobre diccionarios y listas, pero debería prestar atención a las tuplas.
Uno de los tipos de datos incorporados en Python es el diccionario, que define una relación uno a uno entre claves y valores.
Un diccionario en Python es como un hash en Perl. En Perl, las variables que almacenan hashes comienzan siempre por el carácter %; en Python, las variables pueden tener cualquier nombre, y Python guarda internamente el tipo de dato. |
Un diccionario en Python es como una instancia de la clase Hashtable en Java. |
Un diccionario en Python es como una instancia del objeto Scripting.Dictionary en Visual Basic. |
Ejemplo 1.9. Definición de un diccionario
>>> d = {"server":"mpilgrim", "database":"master"} >>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["server"] 'mpilgrim' >>> d["database"] 'master' >>> d["mpilgrim"] Traceback (innermost last): File "<interactive input>", line 1, in ? KeyError: mpilgrim
Ejemplo 1.10. Modificación de un diccionario
>>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["database"] = "pubs" >>> d {'server': 'mpilgrim', 'database': 'pubs'} >>> d["uid"] = "sa" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
Advierta que el nuevo elemento (clave uid, valor sa) aparece en medio. De hecho, es sólo una coincidencia que los elementos aparecieran en orden en el primer ejemplo; es también una coincidencia que aparezcan desordenados ahora.
Los diccionarios no tienen concepto alguno de orden entre sus elementos. Es incorrecto decir que los elementos están “desordenados”; simplemente no hay orden. Esta distinción es importante, y le estorbará cuando intente acceder a los elementos de un diccionario en un orden específico y repetible (como el orden alfabético de las claves). Hay formas de hacer esto, sólo que no forman parte de los diccionarios. |
Ejemplo 1.11. Mezcla de tipos de datos en un diccionario
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'} >>> d["retrycount"] = 3 >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d[42] = "douglas" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
Ejemplo 1.12. Eliminación de elementos de un diccionario
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3} >>> del d[42] >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d.clear() >>> d {}
Ejemplo 1.13. Las cadenas diferencian mayúsculas y minúsculas
>>> d = {} >>> d["key"] = "value" >>> d["key"] = "other value" >>> d {'key': 'other value'} >>> d["Key"] = "third value" >>> d {'Key': 'third value', 'key': 'other value'}
Lecturas complementarias
Prueba de módulos | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Todo sobre las listas |