Python: límites de valor para las claves en la lista de diccionarios

Dada una lista de diccionarios, escriba un programa de Python para asignar límites a cada clave en la lista de diccionarios (cada uno con todas las claves).

Ejemplos:

Entrada : lista_prueba = [{“gfg”: 4, “es”: 7, “mejor”: 10}, {“gfg”: 2, “es”: 5, “mejor”: 9}, {“gfg”: 1, “es”: 2, “mejor”: 6}] 
Salida : {‘gfg’: [1, 4], ‘es’: [2, 7], ‘mejor’: [6, 10]} 
Explicación : gfg tiene min. el valor sea 1 y el máximo sea 4.
 

Entrada : test_list = [{“gfg”: 4, “mejor”: 10}, {“gfg”: 2, “mejor”: 9}, {“gfg”: 1, “mejor”: 6}] 
Salida : { ‘gfg’: [1, 4], ‘mejor’: [6, 10]} 
Explicación : mejor tiene min. el valor sea 6 y el máximo sea 10. 

Método #1: Usar max() + min() + bucle + teclas()

En esto, realizamos la tarea de obtener todas las claves usando keys(), y los valores mínimo y máximo para los límites se calculan usando min() y max(). La iteración de todos los diccionarios se realiza mediante bucle.

Python3

# Python3 code to demonstrate working of
# Value limits to keys in Dictionaries List
# Using max() + min() + loop + keys()
  
# initializing Matrix
test_list = [{"gfg": 4, "is": 7, "best": 10},
             {"gfg": 2, "is": 5, "best": 9},
             {"gfg": 1, "is": 2, "best": 6}]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = dict()
  
# extraction of all keys
keys = list(test_list[0].keys())
  
for key in keys:
  
    # assigning ranges to each key
    res[key] = [min(sub[key] for sub in test_list), max(sub[key]
                                                        for sub in test_list)]
  
# printing result
print("Keys Ranges : " + str(res))

Producción:

La lista original es: [{‘gfg’: 4, ‘is’: 7, ‘best’: 10}, {‘gfg’: 2, ‘is’: 5, ‘best’: 9}, {‘gfg’ : 1, ‘is’: 2, ‘best’: 6}]
Rangos de teclas: {‘gfg’: [1, 4], ‘is’: [2, 7], ‘best’: [6, 10]}

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

En esto, realizamos la tarea de iteración utilizando la comprensión del diccionario de una línea, un método similar al método anterior pero abreviado.

Python3

# Python3 code to demonstrate working of
# Value limits to keys in Dictionaries List
# Using list comprehension + min() + max() + keys()
  
# initializing Matrix
test_list = [{"gfg": 4, "is": 7, "best": 10},
             {"gfg": 2, "is": 5, "best": 9},
             {"gfg": 1, "is": 2, "best": 6}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# extraction of all keys
keys = list(test_list[0].keys())
  
# Dictionary comprehension used as one liner to perform task
res = {key: [min(sub[key] for sub in test_list), max(sub[key]
                                                     for sub in test_list)] for key in keys}
  
# printing result
print("Keys Ranges : " + str(res))

Producción:

La lista original es: [{‘gfg’: 4, ‘is’: 7, ‘best’: 10}, {‘gfg’: 2, ‘is’: 5, ‘best’: 9}, {‘gfg’ : 1, ‘is’: 2, ‘best’: 6}]
Rangos de teclas: {‘gfg’: [1, 4], ‘is’: [2, 7], ‘best’: [6, 10]}

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 *