2024-03-29 10:56:43 发布
网友
从this question继续
我在python中有以下列表,我想将它们重新组合成字典/列表:
从
fromfruits = { "names" : ['banana','grapefruit','apple'] , "colors" : ['yellow','pink','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和{}的顺序相同(假设没有对字典进行干预性修改)。在
keys
[dict((x, fromfruits[x][n]) for x in fromfruits.keys()) for n in range(len(next(fromfruits.itervalues())))]
根据需要进行优化。在
从“names”到“name”这样的键很难做到,教程序如何进行正确的英语单音化。。。所以我重新命名了输入中的键:
ff = dict(name=['banana','grapefruit','apple'], color=['yellow','pink','green'], yummy=[True,False,True])
您可以再次使用zip解决此问题:
zip
由于现在的要求更加笼统:
因为}的顺序相同(假设没有对字典进行干预性修改)。在
keys
和{根据需要进行优化。在
从“names”到“name”这样的键很难做到,教程序如何进行正确的英语单音化。。。所以我重新命名了输入中的键:
您可以再次使用
^{pr2}$zip
解决此问题:相关问题 更多 >
编程相关推荐