Skip to main content
 首页 » 编程设计

python之在 python 中重新组合列表/字典

2025年05月04日14bjzhanghao

从 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 的顺序是相同的(假设没有对字典进行干预修改)。