Python: asignación de clave de valor mínimo

Dados dos diccionarios, la tarea es escribir un programa Python para asignar valores mínimos para las claves coincidentes de ambos diccionarios.

Ejemplos:

Entrada: test_dict1 = {«gfg»: 1, «es»: 7, «mejor»: 8}, test_dict2 = {«gfg»: 2, «es»: 2, «mejor»: 10}

Salida: {“gfg”: 1, “es”: 2, “mejor”: 8}

Explicación: el mínimo de 1 y 2 es 1, por lo que a gfg se le asigna 1 y así sucesivamente.

Entrada: test_dict1 = {“gfg”: 1, “es”: 7, “mejor”: 12}, test_dict2 = {“gfg”: 2, “es”: 2, “mejor”: 10}

Salida: {“gfg”: 1, “es”: 2, “mejor”: 10}

Explicación: el mínimo de 10 y 12 es 10, por lo tanto, lo mejor se asigna con 10 y así sucesivamente.

Método #1: Usar la comprensión del diccionario + min() + items()

En esto, el mínimo de los valores de las claves se extraen usando min(). La comprensión del diccionario se utiliza para reconstruir el diccionario con valores modificados.

Python3

# Python3 code to demonstrate working of
# Minimum value key assignment
# Using dictionary comprehension + min() + items()
  
# initializing dictionaries
test_dict1 = {"gfg": 1, "is": 7, "best": 8}
test_dict2 = {"gfg": 2, "is": 2, "best": 10}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# using min() to assign min values
res = {key: min(val, test_dict2[key]) for key, val in test_dict1.items()}
  
# printing result
print("The minimum value keys : " + str(res))

Producción:

The original dictionary 1 is : {'gfg': 1, 'is': 7, 'best': 8}
The original dictionary 2 is : {'gfg': 2, 'is': 2, 'best': 10}
The minimum value keys : {'gfg': 1, 'is': 2, 'best': 8}

Método #2: Usar dict() + min() + zip()

En esto, para una mejor comparación, zip() se usa para obtener valores para comparar, min() se usa para obtener valores mínimos de claves. Entonces dict() se usa para convertir el resultado al diccionario.

Python3

# Python3 code to demonstrate working of
# Minimum value key assignment
# Using dict() + min() + zip()
  
# initializing dictionaries
test_dict1 = {"gfg": 1, "is": 7, "best": 8}
test_dict2 = {"gfg": 2, "is": 2, "best": 10}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# using min() to assign min values
# dict() for conversion of result to dictionary
res = dict([min(i, j) for i, j in zip(test_dict1.items(), test_dict2.items())])
  
# printing result
print("The minimum value keys : " + str(res))

Producción:

The original dictionary 1 is : {'gfg': 1, 'is': 7, 'best': 8}
The original dictionary 2 is : {'gfg': 2, 'is': 2, 'best': 10}
The minimum value keys : {'gfg': 1, 'is': 2, 'best': 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

Deja una respuesta

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