0% encontró este documento útil (0 votos)
44 vistas7 páginas

Diccionarios en Python

Cargado por

Kevin Mijael
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas7 páginas

Diccionarios en Python

Cargado por

Kevin Mijael
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Diccionarios en Python

Todos los tipos de datos que hemos visto hasta el


momento (cadenas, listas), son de tipo secuencia y
podemos acceder a sus valores a través de sus
índices.
Diccionarios en Python
El tipo de dato diccionario en python es compuesto.
Cada clave está separada de su valor por dos puntos
{ clave: valor }, sus elementos separados por comas
y todo va delimitado con llaves {}.

Por ejemplo, de la anterior imagen, tomando en


cuenta en pares key:valor, podemos conformar los
elementos del diccionario, de la siguiente forma:
{ clave : valor }
Users = { “User1”:”Mike”,
“User2”:”Jhon”,
”User3”:”Mary”
}
Reto #1
1. Elabora un diccionario con los cargos y nombres
de los representantes del centro de estudiantes.
2. Define un diccionario con las siglas de materia y
los profesores que les imparten dicha materia.
3. Define un diccionario con todos los integrantes
de tu familia.

Las claves son únicas en los diccionarios, pero el


valor no tiene porque. Los valores de un diccionario
pueden ser de cualquier tipo, pero las claves deben
ser de un tipo de datos inmutables como las cadenas
de texto o números.
Como ejemplo crearemos un diccionario para traducir
palabras del ingles al español. Para este
diccionario las claves serán cadenas:
eng2sp = {}
eng2sp["one"] = "uno"
eng2sp["two"] = "dos"
La primera línea crea crea un diccionario llamado
eng2sp.
las otras, asignan nuevos pares clave:valor al
diccionario, de acuerdo al siguiente formato:

nombreDiccionario[“clave”] = valor

Podemos imprimir el valor actual del diccionario


como lo hacemos habitualmente:
print(eng2sp)
Esto deberá mostrarnos un resultado como el
siguiente:
{"two": "dos", "one": "uno"}

NOTA: Como podemos observar, los valores del


diccionario quedan separados por una coma.
El orden de los elementos en el diccionario puede
que no sea el esperado porque Python utiliza
algoritmos complejos para determinar donde se
almacenan los pares clave:valor en un diccionario.
Podríamos decir que este ordenamiento es
impredecible.

Acceder a los valores de un diccionario

Para acceder a los elementos de un diccionario,


podemos utilizar el nombre del diccionario junto
con su clave para acceder al valor.
Formato:
nombreDiccionario[“clave”]
ó nombreDiccionario[‘clave’]

Veremos un ejemplo sencillo:


print( eng2sp["one"], eng2sp["two"] )
veremos el siguiente resultado:
uno dos

Nota:Si intentamos acceder a un elemento del


diccionario con una clave que no existe para ese
diccionario nos saldrá un error como este:
por ejemplo
print eng2sp["six"]

Traceback (most recent call last):


File "<pyshell#12>", line 1, in <module>
print eng2sp["six"]
KeyError: 'six'

Hashing

Podrías estar preguntándote porque utilizar


diccionarios. La razón es porque los diccionarios
son mucho más rápidos, implementan una técnica
llamada Hashing, que nos permite acceder a un valor
rápidamente.
Otra forma de crear un diccionario es proporcionar
una lista de pares clave:valor como en ejemplo
anterior:
eng2sp = {"one": "uno", "two": "dos", "three": "tre
s"}
Vuelvo a repetir, no importa con que orden
escribamos los pares, los valores en un diccionario
se acceden por su clave, no con índices, por lo que
no deberíamos preocuparnos por el orden.

Actualizar y agregar elementos en un diccionario

Podemos cambiar valores de los elementos, agregar


nuevos pares clave:valor y también eliminarlos. A
continuación muestro un ejemplo de todo lo dicho
anteriormente, se crea un diccionario con
varias frutas y el stock correspondiente:

inventario = {"manzanas": 430, "bananas": 312,


"naranjas": 525, "peras": 217}
print(inventario)
Actualizando valores
{'peras': 217, 'manzanas': 430, 'naranjas': 525,
'bananas': 312}
Ó haciendo lo siguientes:
inventario["peras"] = 312
Si alguien compra todas las peras podríamos quitar
la entrada del diccionario:
del inventario["peras"]
print(inventario)
{'manzanas': 430, 'naranjas': 525, 'bananas': 312}
O si pronto esperamos que vengan más peras,
podríamos cambiar el valor asociado de las peras
para no eliminarlo:
inventario["peras"] = 0
print(inventario)
{'peras': 0, 'manzanas': 430, 'naranjas': 525,
'bananas': 312}
Para un nuevo envío de Bananas podríamos hacer lo
siguiente:
inventario["bananas"] += 200
print(inventario)
{'peras': 0, 'manzanas': 430, 'naranjas': 525,
'bananas': 512}
La función len también nos será útil para trabajar
con los diccionarios. Devuelve en número de pares
clave:valor

len(inventario)
4

Métodos que podemos utilizar con los diccionarios


en Python

Los diccionarios tienen una serie de métodos


integrados que nos serán de mucha utilidad
El método key nos devuelve una lista de todos los
claves del diccionario:
inventario = {"manzanas": 430, "bananas": 312,
"naranjas": 525, "peras": 217}
print( inventario.keys() )
se obtendrá una lista de keys del diccionario.
['naranjas', 'peras', 'bananas', 'manzanas']
El método values nos devuelve una lista de todos
los valores del diccionario:

print( inventario.values() )

Obtendremos lista de los valores


[525, 125, 217, 312, 430]

El método clear elimina todos los elementos de un


diccionario:
print( inventario)
{'naranjas': 525, 'duraznos': 125, 'peras': 217,
'bananas': 312, 'manzanas': 430}
inventario.clear()
print( inventario )
{}

El método items nos devuelve una lista de tuplas y


cada tupla contiene pares clave:valor

print( inventario.items() )

se obtendrá lo siguiente:
[('naranjas', 525), ('peras', 217), ('bananas',
312), ('manzanas', 430)]

Las tuplas a menudo son útiles para obtener tanto


la clave como el valor al mismo tiempo mientras
utilizamos un bucle:

for (k,v) in inventario.items():


print("Hay",v,k, " en stock")

('Hay', 525, 'naranjas', ' en stock')


('Hay', 217, 'peras', ' en stock')
('Hay', 312, 'bananas', ' en stock')
('Hay', 430, 'manzanas', ' en stock')

El operador in y not in puede comprobar si una


clave está en un diccionario:

print("naranjas" in inventario)
True
print("duraznos" in inventario)
False

Este método es de mucha utilidad ya que buscar una


clave que no existe en un diccionario provocará un
error en tiempo de ejecución:

Otra opción sería utilizar el método


has_key(key) que nos devuelve True si la clave
existe, de lo contrario devuelve False:

print( inventario.has_key("bananas") )
True
print( inventario.has_key("adf") )
False

Otro método muy útil es update, que nos permite


agregar los elementos pares clave:valor de un
diccionario dentro de otro:

print( inventario )
{'naranjas': 525, 'peras': 217, 'bananas': 312,
'manzanas': 430}
otroInventario = {"duraznos": 125}
inventario.update(otroInventario)
print( inventario )

{'naranjas': 525, 'duraznos': 125, 'peras': 217,


'bananas': 312, 'manzanas': 430}

Funciones para utilizar con diccionarios en Python

También podría gustarte