Dado un diccionario con una lista de valores, extraiga la clave cuyo valor tenga la mayoría de los valores únicos.
Entrada : test_dict = {“Gfg”: [5, 7, 9, 4, 0], “es”: [6, 7, 4, 3, 3], “Mejor”: [9, 9, 6, 5, 5]}
Salida : «Gfg»
Explicación : «Gfg» tiene un máximo de elementos únicos, es decir, 5.Entrada : test_dict = {“Gfg”: [5, 7, 7, 7, 7], “es”: [6, 7, 7, 7], “Mejor”: [9, 9, 6, 5, 5] }
Salida : «Mejor»
Explicación : 3 (máx.) elementos únicos, 9, 6, 5 de «Mejor».
Método #1: Usar bucle
Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos para todos los valores de la lista y verificamos el recuento de valores de cada clave, extraemos la clave con valores únicos máximos.
Python3
# Python3 code to demonstrate working of # Key with maximum unique values # Using loop # initializing dictionary test_dict = {"Gfg" : [5, 7, 5, 4, 5], "is" : [6, 7, 4, 3, 3], "Best" : [9, 9, 6, 5, 5]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) max_val = 0 max_key = None for sub in test_dict: # test for length using len() # converted to set for duplicates removal if len(set(test_dict[sub])) > max_val: max_val = len(set(test_dict[sub])) max_key = sub # printing result print("Key with maximum unique values : " + str(max_key))
El diccionario original es: {‘Gfg’: [5, 7, 5, 4, 5], ‘is’: [6, 7, 4, 3, 3], ‘Best’: [9, 9, 6, 5 , 5]}
Clave con valores únicos máximos: es
Método #2: Usar sorted() + lambda() + set() + valores() + len()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, invertimos la ordenación de las claves del diccionario en función de la longitud establecida y devolvemos el primer resultado.
Python3
# Python3 code to demonstrate working of # Key with maximum unique values # Using sorted() + lambda() + set() + values() + len() # initializing dictionary test_dict = {"Gfg" : [5, 7, 5, 4, 5], "is" : [6, 7, 4, 3, 3], "Best" : [9, 9, 6, 5, 5]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # one-liner to solve a problem # sorted used to reverse sort dictionary max_key = sorted(test_dict, key = lambda ele: len( set(test_dict[ele])), reverse = True)[0] # printing result print("Key with maximum unique values : " + str(max_key))
El diccionario original es: {‘Gfg’: [5, 7, 5, 4, 5], ‘is’: [6, 7, 4, 3, 3], ‘Best’: [9, 9, 6, 5 , 5]}
Clave con valores únicos máximos: es
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA