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 ordenar_diccionario(diccionario, clave = '', descendente = True): if type(diccionario) != dict or clave not in diccionario: return None if descendente: return sorted(diccionario.items(), key=lambda x: x[1][clave], reverse = True) else: return sorted(diccionario.items(), key=lambda x: x[1][clave]) ordenar_diccionario({'a': {'edad': 19, 'nombre': 'Juan'}, 'b': {'edad': 25, 'nombre': 'Jorge'}}, 'nombre')