A veces, mientras trabajamos con los diccionarios de Python, podemos encontrarnos con un problema en el que tenemos un valor particular y necesitamos encontrar la frecuencia si ocurre. Analicemos ciertas formas en que se puede resolver este problema. Método n.º 1: Uso del bucle Este problema se puede resolver utilizando el método ingenuo de bucle. En esto, solo iteramos a través de cada clave en el diccionario y cuando se encuentra una coincidencia, el contador aumenta.
Python3
# Python3 code to demonstrate working of # Count keys with particular value in dictionary # Using loop # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 2, 'CS' : 2} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Initialize value K = 2 # Using loop # Selective key values in dictionary res = 0 for key in test_dict: if test_dict[key] == K: res = res + 1 # printing result print("Frequency of K is : " + str(res))
The original dictionary : {'gfg': 1, 'is': 2, 'best': 3, 'for': 2, 'CS': 2} Frequency of K is : 3
Método #2: Usando sum() + valores() Esto también se puede resolver usando la combinación de sum() y value(). En esto, la suma se usa para realizar la suma de los valores filtrados y los valores del diccionario se extraen usando valores()
Python3
# Python3 code to demonstrate working of # Count keys with particular value in dictionary # Using sum() + values() # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 2, 'CS' : 2} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Initialize value K = 2 # Using sum() + values() # Selective key values in dictionary res = sum(x == K for x in test_dict.values()) # printing result print("Frequency of K is : " + str(res))
The original dictionary : {'gfg': 1, 'is': 2, 'best': 3, 'for': 2, 'CS': 2} Frequency of K is : 3
Método n.º 3: Usar count() y valores(). Estos métodos se pueden usar juntos para encontrar el número de claves con un valor particular.
Python3
# Python3 code to demonstrate working of # Count keys with particular value in dictionary # Using count() + values() # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 2, 'CS' : 2} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Initialize value K = 2 # Using count() + values() list1=list(test_dict.values()) # Selective key values in dictionary res = list1.count(K) # printing result print("Frequency of K is : " + str(res))
The original dictionary : {'gfg': 1, 'is': 2, 'best': 3, 'for': 2, 'CS': 2} Frequency of K is : 3
Análisis de Complejidad:
En todas las soluciones la complejidad temporal y espacial es la misma:
Complejidad de tiempo : O(n)
Complejidad espacial: O(n)
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