A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos extraer el elemento con el valor máximo del índice de tupla de valor. Este tipo de problema puede tener aplicación en dominios como el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘gfg’: (4, 6), ‘es’: (7, 8), ‘mejor’: (8, 2)}, tup_idx = 0
Salida : (‘mejor’, (8, 2 ))Entrada : test_dict = {‘gfg’: (4, 6), ‘mejor’: (8, 2)}, tup_idx = 1
Salida : (‘gfg’: (4, 6))
Método #1: Usar max() + lambda
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer el elemento máximo usando max, y el parámetro de valor se verifica usando lambda.
# Python3 code to demonstrate working of # Extract Item with Maximum Tuple Value # Using max() + lambda # initializing dictionary test_dict = {'gfg' : (4, 6), 'is' : (7, 8), 'best' : (8, 2)} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing tuple index # 0 based indexing tup_idx = 1 # Extract Item with Maximum Tuple Value # Using max() + lambda res = max(test_dict.items(), key = lambda ele: ele[1][tup_idx]) # printing result print("The extracted maximum element item : " + str(res))
The original dictionary is : {'gfg': (4, 6), 'is': (7, 8), 'best': (8, 2)} The extracted maximum element item : ('is', (7, 8))
Método #2: Usarmax() + map() + itemgetter() + zip()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de comprimir la clave y el valor de índice de tupla requerido extraído usando itemgetter() usando zip(). Luego, el elemento máximo se extrae usando max().
# Python3 code to demonstrate working of # Extract Item with Maximum Tuple Value # Using max() + map() + itemgetter() + zip() from operator import itemgetter # initializing dictionary test_dict = {'gfg' : (4, 6), 'is' : (7, 8), 'best' : (8, 2)} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing tuple index # 0 based indexing tup_idx = 1 # Extract Item with Maximum Tuple Value # Using max() + map() + itemgetter() + zip() res = max(zip(test_dict.keys(), map(itemgetter(tup_idx), inventory.values())), key = itemgetter(1))[0] res = (res, test_dict[res]) # printing result print("The extracted maximum element item : " + str(res))
The original dictionary is : {'gfg': (4, 6), 'is': (7, 8), 'best': (8, 2)} The extracted maximum element item : ('is', (7, 8))
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