dict invert - learning question



Hello,

here is a piece of code I wrote to check the frequency of values and switch them around to keys in a new dictionary. Just to measure how many times a certain key occurs:

def invert(d):
inv = {}
for key in d:
val = d[key]
if val not in inv:
inv.setdefault(val, [key])
else:
inv[val].append(key)
return inv


Using the methods above (I'm just a beginner) could I have written it more concisely? Any criticism/critique in the code would be greatly appreciated.

Many Thanks,

dave

.