在python中重新组合这两个列表的聪明方法

时间:2010-11-02 16:40:55

标签: python list dictionary

我在python中有以下列表,我想重新组合成字典/列表:

names = ['banana','grapefruit','apple']
colors = ['yellow','pink','green']

fruits = [
{'name':'banana','color':'yellow'}, 
{'name':'grapefruit','color':'pink'},
{'name':'apple','color':'green'}
]

最好的方法是什么?我正在试图用循环打结我的大脑。

请帮忙! :)

2 个答案:

答案 0 :(得分:11)

fruits = [{"name": name, "color": color} for name, color in zip(names, colors)]

答案 1 :(得分:9)

[ {'name': name, 'color': color} for name, color in zip(names, colors) ]

通常的条款和条件适用:

  • 在Python 2中,建议使用itertools.izip作为潜在的大型列表
  • 如果实际数据有很多列表/属性,这可以推广到大规模更优雅
  • 如果密封破损,保修无效
  • ...