Python doesn\'t allow non-hashable objects to be used as keys in other dictionaries. As pointed out by Andrey Vlasovskikh, there is a nice workaround for the special case of
With recursion!
def make_hashable(h): items = h.items() for item in items: if type(items) == dict: item = make_hashable(item) return frozenset(items)
You can add other type tests for any other mutable types you want to make hashable. It shouldn't be hard.