我有以下元组列表
[
('A-1', 'B-1', 'C'),
('A-1', 'B-2', 'D'),
('A-1', 'B-3', 'E'),
('A-1', 'B-4', 'F'),
('A-1', 'B-5', 'G')
]我想创建以下字典字典:
{A:{"A-1":{"B":{"B-1":"C","B-2":"D","B-3":"E","B-4":"F","B-5":"G"}}}}最好的选择是什么?我必须从bbdd中提取数据并生成JSON文件,因此这个转换将被多次执行,这是最有效的解决方案
发布于 2018-02-22 23:40:40
你需要学会如何提问。你应该让我们看看你试过什么和做了什么。你应该试着自己写算法...
幸运的是,我正在工作,所以我为你破解了一个解决方案..试一试,看看它是否有效:
def convert_function(input):
output = {}
for val in input:
first_dict = output.get(val[0][0], {})
second_dict = first_dict.get(val[0], {})
third_dict = second_dict.get(val[1][0], {})
third_dict[val[1]] = val[2]
second_dict[val[1][0]] = third_dict
first_dict[val[0]] = second_dict
output[val[0][0]] = first_dict
return output
input = [
('A-1', 'B-1', 'C'),
('A-1', 'B-2', 'D'),
('A-1', 'B-3', 'E'),
('A-1', 'B-4', 'F'),
('A-1', 'B-5', 'G')
]
print convert_function(input)祝你下次好运!
https://stackoverflow.com/questions/48926974
复制相似问题