Python: elimine claves con valores mayores que K (incluidos los valores mixtos)

Dado un diccionario con pares clave-valor, elimine todas las claves con valores mayores que K, incluidos los valores mixtos.

Entrada : test_dict = {‘Gfg’: 3, ‘es’: 7, ‘mejor’: 10, ‘para’: 6, ‘geeks’: ‘CS’}, K = 7 Salida : {‘Gfg’: 3, ‘for’: 6, ‘geeks’: ‘CS’} Explicación : se eliminan todos los valores mayores que K. Se mantiene el valor mixto. Entrada : test_dict = {‘Gfg’: 3, ‘is’: 7, ‘best’: 10, ‘for’: 6, ‘geeks’: ‘CS’}, K = 1 Salida : {‘geeks’: ‘CS ‘} Explicación : solo se retiene el valor Mixto.

Método #1: Usando isinstance() + bucle 

Esta es una de las formas en que se puede realizar esta tarea. En esto, usamos instancias para obtener valores integrales y comparaciones para obtener valores no mayores que K.

Python3

# Python3 code to demonstrate working of
# Remove keys with Values Greater than K ( Including mixed values )
# Using loop + isinstance()
 
# initializing dictionary
test_dict = {'Gfg' : 3, 'is' : 7, 'best' : 10, 'for' : 6, 'geeks' : 'CS'}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing K
K = 6
 
# using loop to iterate keys of dictionary
res = {}
for key in test_dict:
   
    # testing for data type and then condition, order is imp.
    if not (isinstance(test_dict[key], int) and test_dict[key] > K):
        res[key] = test_dict[key]
         
# printing result
print("The constructed dictionary : " + str(res))
Producción

The original dictionary is : {'Gfg': 3, 'is': 7, 'best': 10, 'for': 6, 'geeks': 'CS'}
The constructed dictionary : {'Gfg': 3, 'for': 6, 'geeks': 'CS'}

Método #2: Usando la comprensión del diccionario + isinstance()

La combinación de las funciones anteriores se utiliza para resolver este problema. Esto realiza una tarea similar al método anterior. La única diferencia es que funciona en una sola línea utilizando la comprensión del diccionario.

Python3

# Python3 code to demonstrate working of
# Remove keys with Values Greater than K ( Including mixed values )
# Using dictionary comprehension + isinstance()
 
# initializing dictionary
test_dict = {'Gfg' : 3, 'is' : 7, 'best' : 10, 'for' : 6, 'geeks' : 'CS'}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing K
K = 6
 
# using list comprehension to perform in one line
res = {key : val for key, val in test_dict.items() if not (isinstance(val, int) and (val > K))}
         
# printing result
print("The constructed dictionary : " + str(res))
Producción

The original dictionary is : {'Gfg': 3, 'is': 7, 'best': 10, 'for': 6, 'geeks': 'CS'}
The constructed dictionary : {'Gfg': 3, 'for': 6, 'geeks': 'CS'}

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 *