Dado un diccionario, la tarea es filtrar todos los valores negativos del diccionario dado. Analicemos algunos métodos para realizar esta tarea.
Método n.º 1: usar la comprensión de dictados
# Python code to demonstrate # return the filtered dictionary # on certain criteria from six import iteritems # Initialising dictionary ini_dict = {'a':1, 'b':-2, 'c':-3, 'd':7, 'e':0} # printing initial dictionary print ("initial lists", str(ini_dict)) # filter dictionary such that no value is greater than 0 result = dict((k, v) for k, v in ini_dict.items() if v >= 0) print("resultant dictionary : ", str(result))
Producción:
initial lists {'a': 1, 'c': -3, 'd': 7, 'b': -2, 'e': 0} resultant dictionary : {'a': 1, 'd': 7, 'e': 0}
Método #2: Usando lambda y filtro
# Python code to demonstrate # return the filtered dictionary # on certain criteria from six import iteritems # Initialising dictionary ini_dict = {'a':1, 'b':-2, 'c':-3, 'd':7, 'e':0} # printing initial dictionary print ("initial lists", str(ini_dict)) # filter dictionary such that no value is greater than 0 result = dict(filter(lambda x: x[1] >= 0.0, ini_dict.items())) result = dict(result) print("resultant dictionary : ", str(result))
Producción:
initial lists {'c': -3, 'd': 7, 'e': 0, 'a': 1, 'b': -2} resultant dictionary : {'e': 0, 'a': 1, 'd': 7}
Publicación traducida automáticamente
Artículo escrito por garg_ak0109 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA