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. Ej: dicc = {'clave1':['c','a','b'],
def ordenar_diccionario(diccionario, clave, descendente=True): if type(diccionario) is not dict or clave not in diccionario.keys(): return None dicc_o = diccionario[clave] dicc_o.sort() diccionario_ordenado = {} if descendente: dicc_o.reverse() for k in diccionario.keys(): diccionario_ordenado[k] = [] for i in range(len(dicc_o)): for j in range(len(diccionario[k])): if dicc_o[i] == diccionario[k][j]: diccionario_ordenado[k].append(diccionario[k][j]) break return diccionario_ordenado dicc = {'clave1':['c','a','b'], 'clave2':