Skip to main content
 首页 » 编程设计

python之将元组列表转换为字典

2025年05月04日21bjzhanghao

我有一个包含三个元素的元组列表:

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} 
}