def to_dict_with_sorted_values(d, key=None): | |
return {k: sorted(v, key=key) for k, v in d.items()} | |
def to_dict_with_set_values(d): | |
result = {} | |
for k, v in d.items(): | |
hashable_v = [] | |
for v_elem in v: | |
if isinstance(v_elem, list): | |
hashable_v.append(tuple(v_elem)) | |
else: | |
hashable_v.append(v_elem) | |
result[k] = set(hashable_v) | |
return result | |
def tuplify(x): | |
if not isinstance(x, (tuple, list)): | |
return x | |
return tuple(tuplify(elem) for elem in x) | |