从 this question 开始
我在 python 中有以下列表,我想将它们重新组合成字典/列表:
来自
fromfruits = { "names" : ['banana','grapefruit','apple'] , "colors" : ['yellow','pink','green'], ... }
到
tofruits = [
{'name':'banana','color':'yellow',...},
{'name':'grapefruit','color':'pink',...},
{'name':'apple','color':'green',...}
]
最好的方法是什么以便我可以在 fromfruits 中列出 n 个属性?
请帮忙! :)
最佳答案
由于请求现在更通用:
>>> from itertools import izip
>>> ff = {'colors': ['yellow', 'pink', 'green'], 'names': ['banana', 'grapefruit', 'apple'], 'blah': ['a','b','c']}
>>> [dict(izip(ff.iterkeys(), v)) for v in izip(*ff.itervalues())]
[{'blah': 'a', 'colors': 'yellow', 'names': 'banana'},
{'blah': 'b', 'colors': 'pink', 'names': 'grapefruit'},
{'blah': 'c', 'colors': 'green', 'names': 'apple'}]
因为 keys
和 values
的顺序是相同的(假设没有对字典进行干预修改)。
关于python - 在 python 中重新组合列表/字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087622/