给出一个非常复杂的字典 dict_a,即一些关键对应于简单值 (level-1),但其他许多对应于另一个字典 (level-n).
我的问题是如何将其所有值(无论是 level-1 还是 level-n)设置为一个值,比如 100。
例如:
a = 10
b = {1: 11, 2: 22, 3{1: 13, 2: {4: 33}}}
c = {1: a, 2: b}
如何将dict c的值设置为0?
最佳答案
简单的递归函数应该可以工作:
def setdictvalto(d, value):
for k in d:
if isinstance(d[k], dict):
setdictvalto(d[k], value)
else:
d[k] = value
演示:
>>> setdictvalto(c, 100)
>>> c
{1: 100, 2: {1: 100, 2: 100, 3: {1: 100, 2: {4: 100}}}}
关于python - 如何将复杂字典的所有值设置为相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27690057/