amigos = {
"colega1" : {
"nombre" : "Pedro",
"año" : 2001
},
"colega2" : {
"nombre" : "Silvia",
"año" : 2004
},
"colega3" : {
"nombre" : "Isa",
"año" : 2003
}
}
amigos
{'colega1': {'nombre': 'Pedro', 'año': 2001}, 'colega2': {'nombre': 'Silvia', 'año': 2004}, 'colega3': {'nombre': 'Isa', 'año': 2003}}
Podemos crear varios diccionarios y otro que los contenga.
Intel = {"gama":"i3", "precio":120}
AMD = {"gama":"Ryzen3", "precio":90}
micros = {"marca1":Intel, "marca2":AMD}
micros
{'marca1': {'gama': 'i3', 'precio': 120}, 'marca2': {'gama': 'Ryzen3', 'precio': 90}}
micros.keys()
dict_keys(['marca1', 'marca2'])
micros.values()
dict_values([{'gama': 'i3', 'precio': 120}, {'gama': 'Ryzen3', 'precio': 90}])
k = ['a', 'b', 'c']
v = list(range(1,4)) # [1, 2, 3]
print(dict(zip(k,v))) # {'a': 1, 'b': 2, 'c': 3} diccionario
print(set(zip(k,v))) # {('b',2),('c',3),('a',1)} conjunto
{'a': 1, 'b': 2, 'c': 3} {('a', 1), ('c', 3), ('b', 2)}
Crear un diccionario partiendo de una lista de países y otra lista con sus capitales.
Lugo invertir clave y valor.
geo = {'Francia':'París',
'Italia':'Roma',
'Portugal':'Lisboa',
'España':'Madrid',
'Alemania':'Berlín'}
paises = list(geo)
paises
['Francia', 'Italia', 'Portugal', 'España', 'Alemania']
capitales = list(geo.values()) # con list podemos convertir el objeto en una lista
capitales
['París', 'Roma', 'Lisboa', 'Madrid', 'Berlín']
type(capitales) # comprobamos que se trata de una lista
list
Tenemos dos listas, países y capitales, con las que podemos montar el diccionario de una forma o de otra. Esto es, siendo la clave los países o siendo la clave las capitales.
geo = {} # no es necesario, pero inicializamos el diccionario geo
k = paises
v = capitales
geo = dict(zip(k,v))
geo
{'Francia': 'París', 'Italia': 'Roma', 'Portugal': 'Lisboa', 'España': 'Madrid', 'Alemania': 'Berlín'}
geo = {} # no es necesario, pero inicializamos el diccionario geo
k = capitales
v = paises
geo = dict(zip(k,v))
geo
{'París': 'Francia', 'Roma': 'Italia', 'Lisboa': 'Portugal', 'Madrid': 'España', 'Berlín': 'Alemania'}