dct = {'person': {'in_dict': [1, 2, 3], 'after_list': {4, '5'}, 'after_set': ('hello',)}} new = {} for k,v in dct['person'].items(): try: hash(v) new[k] = v except: hv = tuple(v) try: iter(hv) for item in hv: new[(item,hv)] = v except: new[k,v] = v print(new)
Standard input is empty
{(1, (1, 2, 3)): [1, 2, 3], (2, (1, 2, 3)): [1, 2, 3], (3, (1, 2, 3)): [1, 2, 3], (4, (4, '5')): {4, '5'}, ('5', (4, '5')): {4, '5'}, 'after_set': ('hello',)}