Esta función recibe como parámetro un diccionario, cuyas listas de valores tienen el mismo tamaño y sus elementos enésimos están asociados. Y otros dos parámetros que indican la clave por la cual debe ordenarse y si es descendente o ascendente. La función debe devolver el diccionario ordenado, teniendo en cuenta de no perder la relación entre los elementos enésimos. Recibe tres argumentos: diccionario: Diccionario a ordenar. clave: Clave del diccionario recibido, por la cual ordenar. descendente: Un valor booleano, que al ser verdadero indica ordenamiento ascendente y descendente si es falso. Debe tratarse de un parámetro por defecto en True. Si el parámetro diccionario no es un tipo de dato diccionario ó el parámetro clave no se encuentra dentro de las claves del diccionario, debe devolver nulo.
def sort_dict(diccionario, clave, descendente=True): if type(diccionario) is dict: if clave in diccionario.keys(): dic = {} #diccionario vacio para almacenar los valores ordenados if descendente: aux = sorted(diccionario[clave], reverse=True) else: aux = sorted(diccionario[clave]) for i in range(len(aux)): for key, values in diccionario.items(): for j in range(len(values)): if values[j] == aux[i]: if key in dic.keys(): dic[key].append(values[j]) else: dic[key] = [] dic[key].append(values[j]) return dic else: return None else: return None a = {"a":[1,2,3], "b":[