在python3中使用“理解”和条件“If”创建dict

时间:2017-08-16 12:27:35

标签: python-3.x dictionary list-comprehension dictionary-comprehension

例如,给出了“词典”(NE),其中“键”是需要的,并且值是满足这些需求的商品的“列表”。 如何使用字典理解创建一个新的“字典”(NG),其中新的“密钥” - 来自(NE)的商品,以及新的“价值” - 来自(NE)的需求的“列表”,这些产品很满意。

In: NE={'need1': ['good1', 'good2', 'good3'], 'need2': ['good2'], 'need3': ['good1', 'good4']}

Out: NG={'good1': ['need1', 'need3'], 'good2': ['need1', 'need2'], 'good3': ['need1'], 'good4': ['need3']}

1 个答案:

答案 0 :(得分:2)

这有效但不是很漂亮

{good:[need for need in NE if good in NE[need]] for need, goods in NE.items() for good in goods}

如果没有人找到更好的解决方案,我认为你没有使用dict理解