In [6]:
a =  {
     "my_app":
        {
        "environment_variables":
           {
            "SOME_ENV_VAR":
                [
                "/tmp",
                "tmp2"
                ]
           },

        "variables":
           { "my_var": "1",
             "my_other_var": "2"
           }
        }
     }

b =  {
      "my_app":
        {
        "environment_variables":
           {
            "SOME_ENV_VAR":
                [
                "/tmp"
                ]
           },

        "variables":
           { "my_var": "1" }
        }
     }

In [7]:
def subtract(a, b):
    result = {}
    
    for key, value in a.items():
        if key not in b or b[key] != value:
            if not isinstance(value, dict):
                if isinstance(value, list):
                    result[key] = [item for item in value if item not in b[key]]
                else:
                    result[key] = value
                continue
         
            inner_dict = subtract(value, b[key])
            if len(inner_dict) > 0:
                result[key] = inner_dict
    
    return result

In [8]:
subtract(a, b)


Out[8]:
{'my_app': {'environment_variables': {'SOME_ENV_VAR': ['tmp2']},
  'variables': {'my_other_var': '2'}}}

In [ ]: