>>> def f(dct):
... k1, k2 = dct
... v1, v2 = dct[k1], dct[k2]
... if v1 > v2:
... return {'greater': (k1, v1), 'less': (k2, v2), 'equal': None}
... elif v1 < v2:
... return {'greater': (k2, v2), 'less': (k1, v1), 'equal': None}
... else:
... return {'greater': None, 'less': None, 'equal': ((k1, v1), (k2, v2))}
...
>>> lst = [
... {'a1': 1, 'b1': 2},
... {'a2': 3, 'b2': 1},
... {'a3': 4, 'b3': 4},
... {'a4': 5, 'b4': 6}
... ]
>>>
>>> out = list(map(f, lst))
>>> out
[{'greater': ('b1', 2), 'less': ('a1', 1), 'equal': None}, {'greater': ('a2', 3), 'less': ('b2', 1), 'equal': None}, {'greater': None, 'less': None, 'equal': (('a3', 4), ('b3', 4))}, {'greater': ('b4', 6), 'less': ('a4', 5), 'equal': None}]
>>>
>>> import pprint
>>> pprint.pprint(out)
[{'equal': None, 'greater': ('b1', 2), 'less': ('a1', 1)},
{'equal': None, 'greater': ('a2', 3), 'less': ('b2', 1)},
{'equal': (('a3', 4), ('b3', 4)), 'greater': None, 'less': None},
{'equal': None, 'greater': ('b4', 6), 'less': ('a4', 5)}]
>>>