python生成嵌套字典

来源:互联网 发布:loco网络加速器 编辑:程序博客网 时间:2024/05/16 03:06

根据传入带分隔符的Key与value生成对应的嵌套字典
方法一:

k1, v1 = 'a.b.c', 1def nested_dict(k, v):    key_list = k.split('.')    key_list.reverse()    for i in key_list:        result = dict()        result[i] = v        v = result    return resultprint nested_dict(k1, v1)输出结果:{'a': {'b': {'c': 1}}}

方法二:

def nested_dict_builder(data, k, v):    key_list = k.split('.')    curr_data = data    for i in key_list[:-1]:        if curr_data.has_key(i):            curr_data = curr_data[i]        else:            curr_data[i] = {}            curr_data = curr_data[i]    curr_data[key_list[-1]] = vres = dict()d1 = {'a.b.c':1, 'a.b.d':2, 'a.b.e':3}for k, v in d1.items():    nested_dict_builder(res, k, v)print res输出结果:{'a': {'b': {'c': 1, 'e': 3, 'd': 2}}}
0 0
原创粉丝点击