Muchas veces, mientras trabajamos con el diccionario de Python, podemos tener un problema particular para encontrar los valores mínimos de K en numerosas claves. Este problema es bastante común cuando se trabaja con un dominio de desarrollo web. Analicemos varias formas en que se puede realizar esta tarea.
Método #1:itemgetter() + items() + sorted()
La combinación del método anterior se usa para realizar esta tarea en particular. En esto, solo ordenamos los valores del diccionario expresados usando itemgetter() y accedidos usando items().
# Python3 code to demonstrate working of # Smallest K values in Dictionary # Using sorted() + itemgetter() + items() from operator import itemgetter # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 4, 'best' : 6, 'for' : 7, 'geeks' : 3 } # Initialize K K = 2 # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Smallest K values in Dictionary # Using sorted() + itemgetter() + items() res = dict(sorted(test_dict.items(), key = itemgetter(1))[:K]) # printing result print("The minimum K value pairs are " + str(res))
The original dictionary is : {'geeks': 3, 'is': 4, 'for': 7, 'best': 6, 'gfg': 1} The minimum K value pairs are {'geeks': 3, 'gfg': 1}
Método #2: Usarnsmallest()
Esta tarea se puede realizar usando la nsmallest
función. Esta es una función incorporada en la biblioteca heapq que realiza esta tarea internamente y puede usarse para hacerlo externamente. Tiene el inconveniente de imprimir solo claves, no valores.
# Python3 code to demonstrate working of # Smallest K values in Dictionary # Using nsmallest from heapq import nsmallest # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 4, 'best' : 6, 'for' : 7, 'geeks' : 3 } # Initialize K K = 2 # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Smallest K values in Dictionary # Using nsmallest res = nsmallest(K, test_dict, key = test_dict.get) # printing result print("The minimum K value pairs are " + str(res))
The original dictionary is : {'geeks': 3, 'best': 6, 'is': 4, 'gfg': 1, 'for': 7} The minimum K value pairs are ['gfg', 'geeks']
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