我有一个包含三个元素的元组列表:
A = [[(72, 1, 2), (96, 1, 4)],
[(72, 2, 1), (80, 2, 4)],
[],
[(96, 4, 1), (80, 4, 2), (70, 4, 5)],
[(70, 5, 4)],
]
我需要将它转换成这种格式的字典(注意元组中的第二个元素将是键):
A_dict = { 1: {2:72, 4:96},
2: {1:72, 4:80},
3: {},
4: {1:96, 2:80, 5:70},
5: {4:70},
}
有没有办法将 A 转换为 A_dict?
我试过这个:
A_dict = {b:{a:c} for a,b,c in A}
但是我得到一个错误:
ValueError: not enough values to unpack (expected 3, got 2)
请您参考如下方法:
你可以这样做:
A_dict = {k+1: {t[2]: t[0] for t in l} for k, l in enumerate(A)}
>>> A_dict
{
1: {2: 72, 4: 96},
2: {1: 72, 4: 80},
3: {},
4: {1: 96, 2: 80, 5: 70},
5: {4: 70}
}
