Python: asigna claves con el índice máximo de elementos

Dado Diccionario con listas de valores, la tarea es escribir un programa en Python para asignar a cada clave un índice del valor máximo en la lista de valores.

Ejemplos:

Entrada: test_dict = {“gfg”: [5, 3, 6, 3], “es”: [1, 7, 5, 3], “mejor”: [9, 1, 3, 5]}

Salida: {‘gfg’: 2, ‘es’: 1, ‘mejor’: 0}

Explicación: el elemento máximo en el valor de «gfg» es 6 en el segundo índice, por lo tanto, se le asigna 2.

Entrada: test_dict = {“gfg”: [9, 3, 6, 3], “es”: [1, 7, 5, 3], “mejor”: [9, 1, 3, 5]}

Salida: {‘gfg’: 0, ‘es’: 1, ‘mejor’: 0}

Explicación: el elemento máximo en el valor de «gfg» es 9 en el índice 0, por lo tanto, se le asigna 0.

Método #1: Usando max() + loop + index()

En esto, obtenemos el índice del elemento máximo de la lista de valores usando max() e index(). Loop se utiliza para la tarea de iteración de claves en el diccionario.

Python3

# Python3 code to demonstrate working of
# Assign keys with Maximum element index
# Using max() + index() + loop
  
# initializing dictionary
test_dict = {"gfg": [5, 3, 6, 3], "is": [1, 7, 5, 3], "best": [9, 1, 3, 5]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
res = dict()
for key in test_dict:
  
    # using index() to get required value
    res[key] = test_dict[key].index(max(test_dict[key]))
  
# printing result
print("The maximum index assigned dictionary : " + str(res))

Producción:

El diccionario original es: {‘gfg’: [5, 3, 6, 3], ‘is’: [1, 7, 5, 3], ‘best’: [9, 1, 3, 5]}

El diccionario de índice máximo asignado: {‘gfg’: 2, ‘is’: 1, ‘best’: 0}

Método #2: Usar la comprensión del diccionario + max() + index()

En esto, realizo la tarea de obtener un resultado usando una variación abreviada de comprensión de diccionario del método anterior.

Python3

# Python3 code to demonstrate working of
# Assign keys with Maximum element index
# Using dictionary comprehension + max() + index()
  
# initializing dictionary
test_dict = {"gfg": [5, 3, 6, 3], "is": [1, 7, 5, 3], "best": [9, 1, 3, 5]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# using dictionary comprehension as one liner alternative
res = {key: test_dict[key].index(max(test_dict[key])) for key in test_dict}
  
# printing result
print("The maximum index assigned dictionary : " + str(res))

Producción:

El diccionario original es: {‘gfg’: [5, 3, 6, 3], ‘is’: [1, 7, 5, 3], ‘best’: [9, 1, 3, 5]}

El diccionario de índice máximo asignado: {‘gfg’: 2, ‘is’: 1, ‘best’: 0}

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *