A veces, mientras trabajamos con los diccionarios de Python, podemos tener problemas en los que necesitamos realizar la eliminación de elementos impares de la lista de valores de los diccionarios. Esto puede tener aplicación en muchos dominios, incluido el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de comprensión de lista + comprensión de diccionario
Esta es una línea de fuerza bruta en la que se puede realizar esta tarea. En esto, rehacemos un nuevo diccionario utilizando la comprensión del diccionario en el que el filtrado de datos y la iteración en la lista de valores se realizan mediante la comprensión de la lista.
# Python3 code to demonstrate working of # Remove odd elements from value lists in dictionary # Using list comprehension + dictionary comprehension # initializing Dictionary test_dict = {'gfg' : [1, 3, 4, 10], 'is' : [1, 2, 8], 'best' : [4, 3, 7]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Remove odd elements from value lists in dictionary # Using list comprehension + dictionary comprehension res = {key: [idx for idx in val if idx % 2] for key, val in test_dict.items()} # printing result print("The filtered values are : " + str(res))
El diccionario original es: {‘gfg’: [1, 3, 4, 10], ‘best’: [4, 3, 7], ‘is’: [1, 2, 8]}
Los valores filtrados son: { ‘gfg’: [1, 3], ‘es’: [1], ‘mejor’: [3, 7]}
Método #2: Usar la comprensión del diccionario +filter() + lambda
Esta es otra forma de resolver este problema. En este, la tarea que realiza la comprensión de listas se realiza mediante filter() + lambda
.
# Python3 code to demonstrate working of # Remove odd elements from value lists in dictionary # Using filter() + lambda + dictionary comprehension # initializing Dictionary test_dict = {'gfg' : [1, 3, 4, 10], 'is' : [1, 2, 8], 'best' : [4, 3, 7]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Remove odd elements from value lists in dictionary # Using filter() + lambda + dictionary comprehension res = {key: list(filter(lambda ele: (ele % 2), val)) for key, val in test_dict.items()} # printing result print("The filtered values are : " + str(res))
El diccionario original es: {‘gfg’: [1, 3, 4, 10], ‘best’: [4, 3, 7], ‘is’: [1, 2, 8]}
Los valores filtrados son: { ‘gfg’: [1, 3], ‘es’: [1], ‘mejor’: [3, 7]}
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