Diccionarios en Python
Los diccionarios en Python son un tipo de estructuras de datos que permite guardar un conjunto no ordenado de pares clave-valor.
Crear un diccionario:
Podemos sacar sus keys también de esta forma:
for clave in auto.keys():
print(clave)
Y obtenemos por consola el mismo resultado:
Podemos sacar solo sus valores de esta forma:
for valor in auto.values():
print(valor)
Y obtenemos por consola el resultado:
Puedes imprimir su clave y valor con un separador de por medio:
Luego en consola procedemos a llamar a su clave entre corchetes y salen los valores almacenados ahí:
props["fluidos"]
Out[11]: ['agua', 'metanol', 'aceite']
También se puede llamar a la clave con el valor que se desee en su posición:
props["fluidos"][2]
Out[12]: 'aceite'
props["fluidos"][0]
Out[13]: 'agua'
props["fluidos"][1]
Out[14]: 'metanol'
Sacar el indice del valor que se encuentra en la clave:
props['peso_mol'].index(40) #Si es con texto se pone entre comillas
Out[19]: 2
La salida por consola muestra la posición del valor 40 que en este caso es el 2 tomando en cuenta que se cuenta desde la posición 0 (cero), uno, dos, ...
En el ejemplo anterior se puede almacenar el valor del index en una variable y luego utilizarlo para otras operaciones P.E.:
props = {'fluidos':['agua', 'metanol', 'aceite'],
'peso_mol':[18, 12, 40],
'densidad':[1, 0.5, 3]
}
idx = props['fluidos'].index('metanol')
props['densidad'][idx]
Out[22]: 0.5
Otras formas de crear diccionarios en Python:
1ra. forma:
casa=dict(sala=1, baño=2, dormitorio=3)
Al escribir en consola:
casa
Out[26]: {'sala': 1, 'baño': 2, 'dormitorio': 3}
2da. forma:
casa=dict(zip(['Sala', 'Baño', 'Dormitorio'], [1,2,3]))
Al escribir en consola:
casa
Out[32]: {'Sala': 1, 'Baño': 2, 'Dormitorio': 3}
3ra. forma:
casa2=dict({'Sala':1, 'Baño':2, 'Dormitorio':3})
Al escribir en consola:
casa2
Out[38]: {'Sala': 1, 'Baño': 2, 'Dormitorio': 3}
Desarrollo:
def casa(x):
switch = {
'Sala':1,
'Baño':2,
"Dormitorio":3
}
return switch[x]
Escribimos en consola:
casa("Dormitorio")
Out[48]: 3
Y obtenemos el número de cuartos que tiene el dormitorio.
Referencias:
Diccionario en python, con ejemplos. (2015, May 5). Retrieved October 3, 2018, from https://jarroba.com/diccionario-python-ejemplos/
Crear un diccionario:
auto = {'marca':'Hyundai',
'model':'Tucson',
'motor':'2.0 CVVT',
'year':2007 }
En consola escribimos:
auto
Out[2]: {'marca': 'Hyundai', 'model': 'Tucson', 'motor': '2.0 CVVT', 'year': 2007}
Sintaxis:
auto={clave única:valor,
}
También puedo llamar mediante consola utilizando su clave:
auto['model']
Out[4]: 'Tucson'
Aqui llamamos al diccionario auto con la clave modelo que le corresponde en este caso Sale por consola "Tucson"
auto['motor']
Out[5]: '2.0 CVVT'
OPERACIONES CON DICCIONARIOS
ITERAR:
Podemos mostrar en pantalla el valor de sus claves o keys iterando con un for:
auto = {'marca':'Hyundai',
'model':'Tucson',
'motor':'2.0 CVVT',
'year':2007 }
for key in auto:
print(key)
Resultado por consola:
for key in auto:
print(key)
>>
marca
model
motor
year
Podemos sacar sus keys también de esta forma:
for clave in auto.keys():
print(clave)
Y obtenemos por consola el mismo resultado:
>>
marca
model
motor
year
Podemos sacar solo sus valores de esta forma:
for valor in auto.values():
print(valor)
Y obtenemos por consola el resultado:
>>
Hyundai
Tucson
2.0 CVVT
2007
Tucson
2.0 CVVT
2007
También puedes imprimir su clave y valor:
for clave, valor in auto.items():
print(clave,valor)
Resultado por consola:
>>
>>
marca Hyundai
model Tucson
motor 2.0 CVVT
year 2007
Puedes imprimir su clave y valor con un separador de por medio:
for clave, valor in auto.items():
print(clave,":", valor)
Resultado por consola:
>>
>>
marca : Hyundai
model : Tucson
motor : 2.0 CVVT
year : 2007
Agregar sus campos:
for clave, valor in auto.items():
print(f'Clave:{clave}; Valor: {valor}')
>>
Clave:marca; Valor: Hyundai
Clave:model; Valor: Tucson
Clave:motor; Valor: 2.0 CVVT
Clave:year; Valor: 2007
Agregar mas valores a mi diccionario:
Creamos un diccionario:
auto = {'marca':'Hyundai',
'model':'Tucson',
'motor':'2.0 CVVT',
'year':2007 }
Con el método .update procedemos agregar nuevo contenido e incluso modificar el existente:
auto.update({"motor":"2.0 diesel","country":"India"})
Al ejecutar tenemos:
auto
Out[4]:
{'marca': 'Hyundai',
'model': 'Tucson',
'motor': '2.0 diesel',
'year': 2007,
'country': 'India'}
Como vemos se ha cambiado el valor del motor y se agrega un valor mas que es el país.
Verificar si un valor se encuentra en un diccionario:
Para eso utilizamos in:
auto
"marca" in auto
Como resultado obtendremos:
Out[6]: True
Agregar mas un valor a una clave en un diccionario:
En ocaciones una clave puede llevar mas de un valor, ejemplo:
props = {'fluidos':['agua', 'metanol', 'aceite'],
'peso_mol':[18, 12, 40],
'densidad':[1, 0.5, 3]
}
model : Tucson
motor : 2.0 CVVT
year : 2007
Agregar sus campos:
for clave, valor in auto.items():
print(f'Clave:{clave}; Valor: {valor}')
>>
Clave:marca; Valor: Hyundai
Clave:model; Valor: Tucson
Clave:motor; Valor: 2.0 CVVT
Clave:year; Valor: 2007
Agregar mas valores a mi diccionario:
Creamos un diccionario:
auto = {'marca':'Hyundai',
'model':'Tucson',
'motor':'2.0 CVVT',
'year':2007 }
Con el método .update procedemos agregar nuevo contenido e incluso modificar el existente:
auto.update({"motor":"2.0 diesel","country":"India"})
Al ejecutar tenemos:
auto
Out[4]:
{'marca': 'Hyundai',
'model': 'Tucson',
'motor': '2.0 diesel',
'year': 2007,
'country': 'India'}
Como vemos se ha cambiado el valor del motor y se agrega un valor mas que es el país.
Verificar si un valor se encuentra en un diccionario:
Para eso utilizamos in:
auto
"marca" in auto
Como resultado obtendremos:
Out[6]: True
Agregar mas un valor a una clave en un diccionario:
En ocaciones una clave puede llevar mas de un valor, ejemplo:
props = {'fluidos':['agua', 'metanol', 'aceite'],
'peso_mol':[18, 12, 40],
'densidad':[1, 0.5, 3]
}
Luego en consola procedemos a llamar a su clave entre corchetes y salen los valores almacenados ahí:
props["fluidos"]
Out[11]: ['agua', 'metanol', 'aceite']
También se puede llamar a la clave con el valor que se desee en su posición:
props["fluidos"][2]
Out[12]: 'aceite'
props["fluidos"][0]
Out[13]: 'agua'
props["fluidos"][1]
Out[14]: 'metanol'
Sacar el indice del valor que se encuentra en la clave:
props['peso_mol'].index(40) #Si es con texto se pone entre comillas
Out[19]: 2
La salida por consola muestra la posición del valor 40 que en este caso es el 2 tomando en cuenta que se cuenta desde la posición 0 (cero), uno, dos, ...
En el ejemplo anterior se puede almacenar el valor del index en una variable y luego utilizarlo para otras operaciones P.E.:
props = {'fluidos':['agua', 'metanol', 'aceite'],
'peso_mol':[18, 12, 40],
'densidad':[1, 0.5, 3]
}
idx = props['fluidos'].index('metanol')
props['densidad'][idx]
Out[22]: 0.5
Otras formas de crear diccionarios en Python:
1ra. forma:
casa=dict(sala=1, baño=2, dormitorio=3)
Al escribir en consola:
casa
Out[26]: {'sala': 1, 'baño': 2, 'dormitorio': 3}
2da. forma:
casa=dict(zip(['Sala', 'Baño', 'Dormitorio'], [1,2,3]))
Al escribir en consola:
casa
Out[32]: {'Sala': 1, 'Baño': 2, 'Dormitorio': 3}
3ra. forma:
casa2=dict({'Sala':1, 'Baño':2, 'Dormitorio':3})
Al escribir en consola:
casa2
Out[38]: {'Sala': 1, 'Baño': 2, 'Dormitorio': 3}
EJERCICIO DE APLICACIÓN #select case:
Crear una función que me permita obtener el numero de cuartos de una casa:Desarrollo:
def casa(x):
switch = {
'Sala':1,
'Baño':2,
"Dormitorio":3
}
return switch[x]
Escribimos en consola:
casa("Dormitorio")
Out[48]: 3
Y obtenemos el número de cuartos que tiene el dormitorio.
Referencias:
Diccionario en python, con ejemplos. (2015, May 5). Retrieved October 3, 2018, from https://jarroba.com/diccionario-python-ejemplos/
Comentarios
Publicar un comentario