"Para el desarrollo de las preguntas se encontró un ejemplo ilustrativo de las diversas operaciones posibles con diccionarios en la dirección https://es.stackoverflow.com/questions/204888/diccionarios-dentro-de-un-diccionario:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"cell_type": "raw",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_items([('sadeddins', {'nombre': 'Siria', 'apellido': 'Sadeddin', 'país': 'Venezuela', 'residencia': 'Barranquilla, Colombia', 'edad': 30, 'institución': 'Universidad Simón Bolívar', 'hobbie': 'Data science'}), ('ladinoj', {'nombre': 'Jose', 'apellido': 'Ladino', 'país': 'Colombia', 'residencia': 'Bogotá, Colombia', 'edad': 24, 'institución': 'Universidad Nacional de Colombia', 'hobbie': 'Skate, ciclismo, guitarra eléctrica'}), ('grisalesj', {'nombre': 'Jennifer', 'apellido': 'Grisales', 'país': 'Colombia', 'residencia': 'Bucaramanga, Colombia', 'edad': 27, 'institución': 'Universidad Industrial de Santander', 'hobbie': 'Rugby'}), ('andreatugores', {'nombre': 'Andrea', 'apellido': 'Tugores', 'país': 'Venezuela', 'residencia': 'Caracas, Venezuela', 'edad': 24, 'institución': 'Universidad Central de Venezuela', 'hobbie': 'Tennis'}), ('leonl', {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'}), ('teofilo', {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'}), ('serranoj', {'nombre': 'José', 'apellido': 'Serrano', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 27, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Videojuegos'}), ('vinascor', {'nombre': 'Rafael', 'apellido': 'Vinasco', 'país': 'Colombia', 'residencia': 'Bogotá, Colombia', 'edad': 26, 'institución': 'Universidad nacional de Colombia', 'hobbie': 'Ajedrez, Nadar'}), ('omarasto', {'nombre': 'Omar', 'apellido': 'Asto', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 25, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Leer periódico'}), ('alexis.tremolada', {'nombre': 'Alexis', 'apellido': 'Tremolada', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 23, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Leer, jugar videojuegos, ver series'})])"
"A partir del ejemplo anterior se procede a explorar las características de los diccionarios:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 2,
"metadata": {},
"outputs": [
{
...
...
@@ -163,16 +147,54 @@
],
"source": [
"for clave, valor in compas.items():\n",
" # La clave sería por ejemplo \"frutas\", el valor sería en este caso \n",
" # otro diccionario. Con `valor.keys()` sacamos la lista\n",
" # de claves de este otro diccionario, que serían los nombres de las frutas\n",
" elementos = \", \".join(valor.keys())\n",
" print(clave, \":\", elementos)"
" elementos = \", \".join(valor.keys())\n",
" print(clave, \":\", elementos)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sadeddins\n",
"ladinoj\n",
"grisalesj\n",
"andreatugores\n",
"leonl\n",
"teofilo\n",
"serranoj\n",
"vinascor\n",
"omarasto\n",
"alexis.tremolada\n"
]
}
],
"source": [
"for clave, valor in compas.items():\n",
" print(clave)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Se prueba un ejemplo con un caso particular:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
...
...
@@ -192,13 +214,12 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Cree una función que reciba como entrada el diccionario y un país de origen, \n",
"y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender."
"Se expande el ejemplo para obtener varios diccionarios:"
]
},
{
"cell_type": "code",
"execution_count": 35,
"execution_count": 5,
"metadata": {},
"outputs": [
{
...
...
@@ -225,36 +246,55 @@
" print(clave, \":\", compas[clave],\"\\n\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finalmente se construye la función que recibirá como argumentos el diccionario \"compas\" y el país"
]
},
{
"cell_type": "code",
"execution_count": 41,
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def f1(dicc, pais):\n",
" for clave, valor in compas.items():\n",
" if compas[clave]['país'] == pais:\n",
" print(clave, \":\", compas[clave],\"\\n\")"
" print(clave, \":\\n\", compas[clave],\"\\n\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Ejemplos"
]
},
{
"cell_type": "code",
"execution_count": 42,
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"leonl : {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'} \n",
"leonl :\n",
" {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'} \n",
"\n",
"teofilo : {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'} \n",
"teofilo :\n",
" {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'} \n",
Para el desarrollo de las preguntas se encontró un ejemplo ilustrativo de las diversas operaciones posibles con diccionarios en la dirección https://es.stackoverflow.com/questions/204888/diccionarios-dentro-de-un-diccionario:
%% Cell type:code id: tags:
``` python
compas.items()
```
%% Cell type:raw id: tags:
%% Output
d1 = {
'frutas': {
' manzanas': [' verdes', ' 7', ' rojas', ' 5'],
'uvas': [' negras', ' 5', ' verdes', ' 3']
},
' verduras': {
'papa': ['negras', ' 50', ' blancas', ' 20'],
'cebolla': [' blancas', ' 30']
},
'cereales': {
' arroz': [' fino',' 600', ' largo', ' 800']
}
}
dict_items([('sadeddins', {'nombre': 'Siria', 'apellido': 'Sadeddin', 'país': 'Venezuela', 'residencia': 'Barranquilla, Colombia', 'edad': 30, 'institución': 'Universidad Simón Bolívar', 'hobbie': 'Data science'}), ('ladinoj', {'nombre': 'Jose', 'apellido': 'Ladino', 'país': 'Colombia', 'residencia': 'Bogotá, Colombia', 'edad': 24, 'institución': 'Universidad Nacional de Colombia', 'hobbie': 'Skate, ciclismo, guitarra eléctrica'}), ('grisalesj', {'nombre': 'Jennifer', 'apellido': 'Grisales', 'país': 'Colombia', 'residencia': 'Bucaramanga, Colombia', 'edad': 27, 'institución': 'Universidad Industrial de Santander', 'hobbie': 'Rugby'}), ('andreatugores', {'nombre': 'Andrea', 'apellido': 'Tugores', 'país': 'Venezuela', 'residencia': 'Caracas, Venezuela', 'edad': 24, 'institución': 'Universidad Central de Venezuela', 'hobbie': 'Tennis'}), ('leonl', {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'}), ('teofilo', {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'}), ('serranoj', {'nombre': 'José', 'apellido': 'Serrano', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 27, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Videojuegos'}), ('vinascor', {'nombre': 'Rafael', 'apellido': 'Vinasco', 'país': 'Colombia', 'residencia': 'Bogotá, Colombia', 'edad': 26, 'institución': 'Universidad nacional de Colombia', 'hobbie': 'Ajedrez, Nadar'}), ('omarasto', {'nombre': 'Omar', 'apellido': 'Asto', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 25, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Leer periódico'}), ('alexis.tremolada', {'nombre': 'Alexis', 'apellido': 'Tremolada', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 23, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Leer, jugar videojuegos, ver series'})])
# for clave, valor in d1.items():
# La clave sería por ejemplo "frutas", el valor sería en este caso
# otro diccionario. Con `valor.keys()` sacamos la lista
# de claves de este otro diccionario, que serían los nombres de las frutas
A partir del ejemplo anterior se procede a explorar las características de los diccionarios:
%% Cell type:code id: tags:
``` python
forclave,valorincompas.items():
# La clave sería por ejemplo "frutas", el valor sería en este caso
# otro diccionario. Con `valor.keys()` sacamos la lista
# de claves de este otro diccionario, que serían los nombres de las frutas
elementos=", ".join(valor.keys())
print(clave,":",elementos)
elementos=", ".join(valor.keys())
print(clave,":",elementos)
```
%% Output
sadeddins : nombre, apellido, país, residencia, edad, institución, hobbie
ladinoj : nombre, apellido, país, residencia, edad, institución, hobbie
grisalesj : nombre, apellido, país, residencia, edad, institución, hobbie
andreatugores : nombre, apellido, país, residencia, edad, institución, hobbie
leonl : nombre, apellido, país, residencia, edad, institución, hobbie
teofilo : nombre, apellido, país, residencia, edad, institución, hobbie
serranoj : nombre, apellido, país, residencia, edad, institución, hobbie
vinascor : nombre, apellido, país, residencia, edad, institución, hobbie
omarasto : nombre, apellido, país, residencia, edad, institución, hobbie
alexis.tremolada : nombre, apellido, país, residencia, edad, institución, hobbie
%% Cell type:code id: tags:
``` python
forclave,valorincompas.items():
print(clave)
```
%% Output
sadeddins
ladinoj
grisalesj
andreatugores
leonl
teofilo
serranoj
vinascor
omarasto
alexis.tremolada
%% Cell type:markdown id: tags:
### Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender.
%% Cell type:markdown id: tags:
Se prueba un ejemplo con un caso particular:
%% Cell type:code id: tags:
``` python
ifcompas["omarasto"]['país']=="Perú":
print(compas["omarasto"])
```
%% Output
{'nombre': 'Omar', 'apellido': 'Asto', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 25, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Leer periódico'}
%% Cell type:markdown id: tags:
Cree una función que reciba como entrada el diccionario y un país de origen,
y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender.
Se expande el ejemplo para obtener varios diccionarios:
%% Cell type:code id: tags:
``` python
forclave,valorincompas.items():
# print(clave)
ifcompas[clave]['país']=="Perú":
print(clave,":",compas[clave],"\n")
```
%% Output
leonl : {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'}
teofilo : {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'}
serranoj : {'nombre': 'José', 'apellido': 'Serrano', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 27, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Videojuegos'}
alexis.tremolada : {'nombre': 'Alexis', 'apellido': 'Tremolada', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 23, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Leer, jugar videojuegos, ver series'}
%% Cell type:markdown id: tags:
Finalmente se construye la función que recibirá como argumentos el diccionario "compas" y el país
%% Cell type:code id: tags:
``` python
deff1(dicc,pais):
forclave,valorincompas.items():
ifcompas[clave]['país']==pais:
print(clave,":",compas[clave],"\n")
print(clave,":\n",compas[clave],"\n")
```
%% Cell type:markdown id: tags:
#### Ejemplos
%% Cell type:code id: tags:
``` python
f1(compas,"Perú")
```
%% Output
leonl : {'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'}
leonl :
{'nombre': 'Luis', 'apellido': 'León', 'país': 'Perú', 'residencia': 'Callao, Perú', 'edad': 22, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Escuchar música, tocar guitarra'}
teofilo : {'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'}
teofilo :
{'nombre': 'Teófilo', 'apellido': 'Vargas', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 54, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Wing Chun Kuen'}
serranoj : {'nombre': 'José', 'apellido': 'Serrano', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 27, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Videojuegos'}
serranoj :
{'nombre': 'José', 'apellido': 'Serrano', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 27, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Videojuegos'}
{'nombre': 'Omar', 'apellido': 'Asto', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 25, 'institución': 'Universidad Nacional de Ingeniería', 'hobbie': 'Leer periódico'}
alexis.tremolada : {'nombre': 'Alexis', 'apellido': 'Tremolada', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 23, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Leer, jugar videojuegos, ver series'}
alexis.tremolada :
{'nombre': 'Alexis', 'apellido': 'Tremolada', 'país': 'Perú', 'residencia': 'Lima, Perú', 'edad': 23, 'institución': 'Universidad Nacional Mayor de San Marcos', 'hobbie': 'Leer, jugar videojuegos, ver series'}