Ejercicios 3

1 Ejercicio

Escribe una expresión Python para recuperar el valor del elemento con clave 'Hola' del un diccionario d.

  • Comprueba que si d es {} la ejecución produce un error.
  • ¿ Y si d es {'Hola': ['Hi','Hello'], 'Adios': ['Bye']} ?

In [3]:
d1 = {}
d2 =  {'Hola': ['Hi','Hello'], 'Adios': ['Bye'] }
d2["Hola"]
# Sol:


Out[3]:
['Hi', 'Hello']

2 Ejercicio

Dados dos diccionarios d1 y d2, escribe una función en Python llamada fusion que realice la fusión de los dos diccionarios pasados como parámetros. Puedes utilizar la función update.

  • Prueba la función con los diccionarios d1 = {1: 'A', 2:'B', 3:'C'}, d2 = {4: 'Aa', 5:'Ba', 6:'Ca'}

  • Utiliza la función len para recuperar el número de elementos del nuevo diccionario

  • Prueba la función con los diccionarios d1 = {1: 'A', 2:'B', 3:'C'}, d2 = {2: 'Aa', 3:'Ba'}

  • Utiliza la función len para recuperar el número de elementos del nuevo diccionario

3 Ejercicio


In [46]:
# Sol:
def fusion():
    dic1 = {1: 'A', 2:'B', 3:'C'}
    dic2 = {4: 'Aa', 5:'Ba', 6:'Ca'}
    dic1.update(dic2)
    return dic1
fusion()


Out[46]:
{1: 'A', 2: 'B', 3: 'C', 4: 'Aa', 5: 'Ba', 6: 'Ca'}

Dada la lista de las ciudades más pobladas de Italia it:

it = [ 'Roma', 'Milán', 'Nápoles', 'Turín', 'Palermo' , 'Génova', 'Bolonia', 'Florencia', 'Bari', 'Catania']

  • Crea un diccionario donde la clave sea la posición que ocupa cada ciudad en la lista. Para hacerlo sigue estas indicaciones:
    • Crea una secuencia de enteros mediante la función range. El inicio de la secuencia es el cero y el fin de la secuencia es la longitud de la lista de poblaciones de Italia.
    • Crea una lista m de tuplas del tipo (pos, ciudad). Utiliza la función zip.
    • Utiliza la función dict para construir el diccionario a partir de la lista m.
  • Escribe una expresión Python para recuperar la quinta ciudad italiana más poblada.

In [7]:
# Sol:
it = [ 'Roma', 'Milán', 'Nápoles', 'Turín', 'Palermo' , 'Génova',
      'Bolonia', 'Florencia', 'Bari', 'Catania']
secuencia = range(1, len(it)+1)
m = list(zip(secuencia, it))
ciudades = dict(m)
ciudades


Out[7]:
{1: 'Roma',
 2: 'Milán',
 3: 'Nápoles',
 4: 'Turín',
 5: 'Palermo',
 6: 'Génova',
 7: 'Bolonia',
 8: 'Florencia',
 9: 'Bari',
 10: 'Catania'}


In [ ]: