您的位置:首页 > 编程语言 > Python开发

python生成嵌套字典

2016-07-20 10:14 369 查看
根据传入带分隔符的Key与value生成对应的嵌套字典

方法一:

k1, v1 = 'a.b.c', 1
def nested_dict(k, v):
key_list = k.split('.')
key_list.reverse()
for i in key_list:
result = dict()
result[i] = v
v = result

return result

print 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]] = v

res = 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}}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python dict 嵌套