Comparación de dos diccionarios anidados para escribir en el método de comprensión de lista

1

El siguiente código funciona bien para comparar estos dos tipos de diccionarios anidados. ¿Es posible escribir esto en la comprensión de listas? o de cualquier otra forma que sea más fácil de entender

dict1 = {
           'Texture': {'actual': 1.0 , 'simulated': 3}, 
           'Detector': {'SumAmp': 1.0}, 
           'color': {'blue': 0.0001}, 
           'Compton': {'Amplitude': 10000.0}}
dict2 = {
"Color": {
            "Red": { "range": (-1, 1),
        },
           "Green": {
                      "range": (0, 0.1),
        },
           "Blue": {
                     "range": (-0.01, 0.001),
        },
    },
"Texture": {
        "actual": {"range": (4, 3),
        },
        "simulated": {"range": (-2, 2),
        },
        "abstract": {"range": (20, 50),
        },
        "invented_texture": { "range": (-6, 6),
        },
    },

```     L = []
        # Check to see if dict1 keys are similar with dict2
        for k, v in dict1.items():
            for k2, v2 in dict2.items():
                if k == k2:
                    for k4, v4 in v.items():
                        for k3, v3 in v2.items():
                                if k4 == k3:
                                     L.append(v3["range"])

1

Nosotros lo haremos

[dict2[key11][key12]['range'] 
 for key11, value11 in dict1.items() 
 for key12 in value11 
 if key11 in dict2 and key12 in dict2[key11]]
#[(4, 3), (-2, 2)]