Python &引用;没有足够的值来解包";当你翻阅字典的时候
我得到一个值错误Python &引用;没有足够的值来解包";当你翻阅字典的时候,python,list-comprehension,Python,List Comprehension,我得到一个值错误没有足够的值来解包。当通过列表理解将字典转换为元组列表时,预期为3,得到2 #将MPN链接到销售代表 sam_parts={} 对于plmdata中的行: mpn,sam=第[5]行,第[24]行 mpn\u热=热分数[mpn] 如果sam不在sam_零件中: sam_parts[sam]={mpn:mpn_heat} elif mpn不在sam_零件中[sam]: sam_零件[sam][mpn]=mpn_热 #将sam_零件转换为元组列表 清洁零件=[(sam、mpn、mpn
没有足够的值来解包。当通过列表理解将字典转换为元组列表时,预期为3,得到2
#将MPN链接到销售代表
sam_parts={}
对于plmdata中的行:
mpn,sam=第[5]行,第[24]行
mpn\u热=热分数[mpn]
如果sam不在sam_零件中:
sam_parts[sam]={mpn:mpn_heat}
elif mpn不在sam_零件中[sam]:
sam_零件[sam][mpn]=mpn_热
#将sam_零件转换为元组列表
清洁零件=[(sam、mpn、mpn\U热量)用于sam、mpn、mpn\U零件中的sam、mpn\U热量。项()]
令人不快的列表位于底部。为了以防万一,我给字典加了代码。我相信这里有一个简单的解决方案,我只是看不到,但我需要一双新的眼睛!提前感谢。如前所述,
dict.items
将返回包含2个项的元组,即使关联的值是字典本身。假设您需要两个级别的键和关联的值,下面是我将如何处理它:
[(sam, mpn, mpn_heat) for sam, inner_dict in sam_parts.items() for mpn, mpn_heat in inner_dict.items()]
这本质上是一个嵌套的for循环,用于遍历“外部”字典,然后遍历其中的字典。因为sam_parts.items()给出了一个2项元组(key,value)。我不确定tho@Pietro马塞拉和忙碌的人当然,是的,绝对是这个修好了!我甚至没有想到“sam_parts.items”只生成一个2项元组。您的嵌套for循环建议解决了这个问题,实际上为我节省了一点精力,使输出符合我的要求!谢谢你们两位。