Dadas dos listas de diccionarios, calcule la frecuencia correspondiente a cada valor en el diccionario del 1 al segundo.
Entrada : test_list1 = [{“Gfg”: 6}, {“best”: 10}], test_list2 = [{“a”: 6}, {“b”: 10}, {“d”: 6}}]
Salida : {‘Gfg’: 2, ‘mejor’: 1}
Explicación : 6 tiene 2 ocurrencias en la segunda lista, 10 tiene 1.Entrada : test_list1 = [{“Gfg”: 6}], test_list2 = [{“a”: 6}, {“b”: 6}, {“d”: 6}}] Salida: {‘Gfg’
: 3 }
Explicación : 6 tiene 3 ocurrencias en la segunda lista.
Método: uso de comprensión de diccionario + recuento() + comprensión de lista
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, realizamos esta tarea usando 2 pasos, primero extraemos todos los valores de la segunda lista y luego realizamos el mapeo con frecuencia con el primer diccionario usando comprensión de lista y conteo().
Python3
# Python3 code to demonstrate working of # Values frequency across Dictionaries lists # Using list comprehension + dictionary comprehension + count() # initializing lists test_list1 = [{"Gfg" : 6}, {"is" : 9}, {"best" : 10}] test_list2 = [{"a" : 6}, {"b" : 10}, {"c" : 9}, {"d" : 6}, {"e" : 9}, {"f" : 9}] # printing original list print("The original list 1 : " + str(test_list1)) print("The original list 2 : " + str(test_list2)) # extracting values from target dictionary temp = [val for sub in test_list2 for key, val in sub.items()] # frequency mapping from 1st dictionary keys res = {key : temp.count(val) for sub in test_list1 for key, val in sub.items()} # printing result print("The frequency dictionary : " + str(res))
The original list 1 : [{'Gfg': 6}, {'is': 9}, {'best': 10}] The original list 2 : [{'a': 6}, {'b': 10}, {'c': 9}, {'d': 6}, {'e': 9}, {'f': 9}] The frequency dictionary : {'Gfg': 2, 'is': 3, 'best': 1}
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