def revert_dict(d):
rd = {}
for key,val in d.iteritems():
rd[val] = rd.get(val,[]) + [key]
return rd
print revert_dict({'srvc3': '1', 'srvc2': '1', 'srvc1': '2',
'srvc4': '8', 'srvc5': '2', 'srvc6': '2',
'srvc7': '77', 'srvc8': '1', 'srvc9': '2',
'srvc10': '3', 'srvc11': '1'})
результат
{'1': ['srvc11', 'srvc3', 'srvc2', 'srvc8'], '77': ['srvc7'], '3': ['srvc10'], '2': ['srvc6', 'srvc5', 'srvc1', 'srvc9'], '8': ['srvc4']}
также:
def revert_dict(d):
rd = {}
for key,val in d.iteritems():
rd[val] = rd[val]+ [key] if val in rd else [key]
return rd