我有一个键值对,如下所示:

((1,{'foo':1,'abc':2,'xyz':3,'def':2}),(2,{'ghu':3,'kie':2}))


我能够将键值对反转为以下形式:

((({'foo':1,'abc':2,'xyz':3,'def':2}),1),(({'ghu':3,'kie':2})),2)


但是我需要以以下格式输入它们。尝试了各种选项但未成功

(({'foo':1}),1)
(({'abc':2}),1)
(({'xyz':3}),1)
(({'def':2}),1)
(({'ghu':3}),2)
(({'kie':2}}),2)


有人可以帮我吗?

最佳答案

此列表理解将产生您所需的格式:

l = ((1,{'foo':1,'abc':2,'xyz':3,'def':2}),(2,{'ghu':3,'kie':2}))
tuple((({k:v}),i) for i,j in l for k,v in j.items())

关于python - 如何用字典作为值反转列表中的键值对?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31129310/

10-12 18:13