Parto de un diccionario  
paises que contiene tres diccionarios dentro. Los valores de cada uno de estos diccionarios son otros diccionarios (pares clave/valor):  
Código:
 paises = {
'A': {1: 'Buenos Aires', 2: 'Cordova'},
'I': {1: 'Roma', 2: 'Pisa'},
'B': {1: 'Sao Paolo', 2: 'Rio de Janeiro'}
}
  Quiero añadir al diccionario 
paises el contenido del diccionario 
update de tal manera que los pares clave/valor de las claves que no existían en 
paises ('U') se añadan a este y que al mismo tiempo en aquellas claves ('A' y 'I') donde ya existían, se añadan sus elementos sin sustituir a los existentes. Quiero hacerlo recorriendo los pares clave/valor de 
update mediante un bucle for.  
Código:
 update = {
'A': {3: 'Mar del Plata', 4: 'Rosario'},
'I': {3: 'Milan'},
'U': {1: 'San Francisco', 2: 'Miami'}
}
  la idea es que al final pueda obtener el siguiente código:  
Código:
 paises = {
'A': {1: 'Buenos Aires', 2: 'Cordova',3: 'Mar del Plata', 4: 'Rosario'},
'I': {1: 'Roma', 2: 'Pisa',3: 'Milan'},
'B': {1: 'Sao Paolo', 2: 'Rio de Janeiro'},
'U': {1: 'San Francisco', 2: 'Miami'}
}
  He probado varias opciones con setdefault() y update() pero no he encontrado la solución perfecta. 
Gracias.