Python: reinicializa las listas de valores a K en el diccionario

A veces, mientras trabajamos con los valores del diccionario de Python, podemos tener un problema en el que necesitamos reinicializar todas las listas de valores de todas las claves en el diccionario a una K constante. Este tipo de problema puede tener aplicación en dominios que usan datos, como Machine Learning. y ciencia de datos. Vamos a discutir cierta forma en que se puede realizar esta tarea.
 

Entrada : test_dict = {‘Gfg’: [[4, 5], [8, 9, 20], [1, 3, 4, ‘ups’]]} 
Salida : {‘Gfg’: [[4, 4] , [4, 4, 4], [4, 4, 4, 4]]}
Entrada : test_dict = {‘Gfg’: «mejor»} 
Salida : {‘Gfg’: 4} 
 

Método: Usar recursividad + tipo() + comprensión de diccionario + elements() + bucle 
La combinación de las funcionalidades anteriores puede ayudar a resolver este problema. En este, realizamos la asignación de valores utilizando la comprensión del diccionario y los tipos se prueban utilizando el tipo. Los elements() se utilizan para extraer valores del diccionario y para realizar cada anidamiento se maneja mediante recursividad.
 

Python3

# Python3 code to demonstrate working of
# Reinitialize Value lists to K in Dictionary
# Using recursion + type() + dictionary comprehension + items() + loop
 
# helper function
def helper_fnc(ele, K):
    if type(ele) is list:
        return [helper_fnc(val, K) for val in ele]
    elif type(ele) is dict:
        return {key : helper_fnc(val, K) for key, val in ele.items()}
    return K
 
# initializing dictionary
test_dict = {'gfg' : [4, 6, 7], 'is' : 8, 'best' : [[4, 5], [8, 9, 20]]}
 
# printing original dictionary
print("The original dictionary : " + str(test_dict))
 
# initializing K
K = 4
 
# Reinitialize Value lists to K in Dictionary
# Using recursion + type() + dictionary comprehension + items() + loop
res = helper_fnc(test_dict, K)
     
# printing result
print("The Reinitialized dictionary : " + str(dict(res)))
Producción : 

El diccionario original: {‘mejor’: [[4, 5], [8, 9, 20]], ‘es’: 8, ‘gfg’: [4, 6, 7]} 
El diccionario reinicializado: {‘mejor ‘: [[4, 4], [4, 4, 4]], ‘es’: 4, ‘gfg’: [4, 4, 4]} 

 

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 *