A veces, mientras trabajamos con los diccionarios de Python, podemos tener problemas en los que necesitamos extraer claves con valores que son únicos (debe haber al menos un elemento que no esté presente en otras listas) , es decir, no aparece en las listas de valores de ninguna otra clave . Esto puede tener aplicaciones en el preprocesamiento de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Usar loop +count()
La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de contar las ocurrencias usando el conteo y la extracción y la prueba se realiza usando un bucle usando una declaración condicional.
# Python3 code to demonstrate working of # Unique Keys Values # Using loop + count() # initializing dictionary test_dict = {'Gfg' : [6, 5], 'is' : [6, 10, 5], 'best' : [12, 6, 5]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Unique Keys Values # Using loop + count() temp = [sub for ele in test_dict.values() for sub in ele] res = [] for key, vals in test_dict.items(): for val in vals: if temp.count(val) == 1: res.append(key) break # printing result print("The unique values keys are : " + str(res))
The original dictionary is : {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]} The unique values keys are : ['best', 'is']
Método n.º 2: usar la comprensión de listas +any() + count()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, verificamos los elementos únicos usando any() y count(). Esta es una forma lineal en la que se puede realizar esta tarea.
# Python3 code to demonstrate working of # Unique Keys Values # Using list comprehension + any() + count() # initializing dictionary test_dict = {'Gfg' : [6, 5], 'is' : [6, 10, 5], 'best' : [12, 6, 5]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Unique Keys Values # Using list comprehension + any() + count() res = [key for key, vals in test_dict.items() if any([ele for sub in test_dict.values() for ele in set(sub)].count(idx) == 1 for idx in vals)] # printing result print("The unique values keys are : " + str(res))
The original dictionary is : {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]} The unique values keys are : ['best', 'is']
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