📜  Python – 将值列表重新初始化为字典中的 K

📅  最后修改于: 2022-05-13 01:55:04.856000             🧑  作者: Mango

Python – 将值列表重新初始化为字典中的 K

有时,在使用Python字典值时,我们可能会遇到需要将字典中所有键的所有值列表重新初始化为常量 K 的问题。这种问题可以应用于使用数据的领域,例如机器学习和数据科学。让我们讨论一下可以执行此任务的特定方式。

方法:使用递归 + type() + 字典理解 + items() + loop
上述功能的组合可以帮助解决这个问题。在此,我们使用字典理解执行值的分配,并使用类型测试类型。 items() 用于从字典中提取值并执行每个嵌套由递归处理。

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)))


输出 :

原字典:{'best': [[4, 5], [8, 9, 20]], 'is': 8, 'gfg': [4, 6, 7]}
重新初始化的字典:{'best': [[4, 4], [4, 4, 4]], 'is': 4, 'gfg': [4, 4, 4]}