Santiago Moresi

Generation

generate functionSat, 06 May 2023

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 ordDicc(diccionario,clave,descendente=True): if not isinstance(diccionario,dict): return None if clave not in diccionario.keys(): return None lst = list(zip(diccionario[clave],*diccionario.values())) lst.sort(reverse=descendente) dicc = {clave: []} for i in range(len(lst[0])-1): dicc[list(diccionario.keys())[i+1]] = [] for i in range(len(lst)): dicc[clave].append(lst[i][0]) for j in range(len(lst[0])-1): dicc[list(diccionario.keys())[j+1]].append(lst[i][j+1]) return dicc dicc = { 'ciudad':['Barcelona','Barcelona','Barcelona','Madrid','Mad

Want to kickstart your project?Use the new AI Studio to create your code