Python: conservar los elementos de valor de los elementos de la lista

A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos retener solo aquellas claves, cuyos valores son parte de la lista de objetivos. Este tipo de problema puede tener un problema potencial en muchos dominios, incluido el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
 

Entrada
test_dict = {‘gfg’: 3} 
tar_list = [3, 4, 10] (Valores para retener) 
Salida : {‘gfg’: 3}
Entrada
test_dict = {‘gfg’: 5, ‘best’: 12 } 
tar_list = [3, 4, 10] (Valores para retener) 
Salida : {} 
 

Método #1: Usar la comprensión del diccionario 
Esta es una de las formas en que se puede resolver este problema. En esto, realizamos la tarea de filtrar utilizando la expresión condicional dentro de la comprensión, conservando solo los elementos presentes en la lista.
 

Python3

# Python3 code to demonstrate working of
# Retain list elements value items
# Using dictionary comprehension
 
# initializing dictionary
test_dict = {'gfg': 3, 'is': 2, 'best': 4, 'for': 7, 'geeks': 10}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing target list
tar_list = [3, 4, 10]
 
# Retain list elements value items
# Using dictionary comprehension
res = {key : val for key, val in test_dict.items() if val in tar_list}
     
# printing result
print("The filtered dictionary : " + str(res))
Producción : 

The original dictionary is : {'gfg': 3, 'is': 2, 'best': 4, 'for': 7, 'geeks': 10}
The filtered dictionary : {'gfg': 3, 'best': 4, 'geeks': 10}

 

 
Método #2: Usar filter() + lambda 
La combinación de las funciones anteriores se puede usar para resolver este problema. En este, realizamos la tarea de filtración mediante filtro, alimentación lógica mediante la función lambda.
 

Python3

# Python3 code to demonstrate working of
# Retain list elements value items
# Using filter() + lambda
 
# initializing dictionary
test_dict = {'gfg': 3, 'is': 2, 'best': 4, 'for': 7, 'geeks': 10}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing target list
tar_list = [3, 4, 10]
 
# Retain list elements value items
# Using filter() + lambda
res = dict(filter(lambda sub: sub[1] in tar_list, test_dict.items()))
     
# printing result
print("The filtered dictionary : " + str(res))
Producción : 

The original dictionary is : {'gfg': 3, 'is': 2, 'best': 4, 'for': 7, 'geeks': 10}
The filtered dictionary : {'gfg': 3, 'best': 4, 'geeks': 10}

 

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 *