在循环中将键,值列表转换为字典

时间:2016-02-29 00:52:13

标签: python dictionary

我有一个从另一个数据源获得的格式列表

      a=[{'prod':'product1','price':100},{'prod':'product2','price':200}]

如果我运行for循环进入dict。我只得到最后一项。如何通过for循环

将每个项目附加到字典中

我想要这样的最终输出

 z={0:{'prod':'product1','price':100},
    '1':{'prod':'product2','price':200}
   }

  z={'0':{'product1':100},
     '1':{'product2':200}
    }

我尝试了什么

感谢

2 个答案:

答案 0 :(得分:0)

z = {}
for i in len(a):
 z[i] = a[i]

答案 1 :(得分:0)

您可以使用词典理解和enumerate来获取a的索引和值:

>>> {i: v for i,v in enumerate(a)}
{0: {'price': 100, 'prod': 'product1'}, 1: {'price': 200, 'prod': 'product2'}}
>>> {i: {v['prod']:v['price']} for i,v in enumerate(a)}
{0: {'product1': 100}, 1: {'product2': 200}}