Python | Contar claves con un valor particular en el diccionario

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))
Producción

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))
Producción

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))
Producción

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

Deja una respuesta

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