2016-02-29 60 views
-3

字典我有这种格式列表从另一个数据源转换键,值列表在循环

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

了,如果我运行一个for循环进入一个字典。我只得到最后一个项目。如何每个项目追加到词典,因为我跑通了环

我想这

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

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

我试图

感谢像一个最终输出

+1

显示一些代码,看看到目前为止你已经尝试过的东西。 –

+0

@vanakkam'范围内的数字(len(a)):'。 '0'不是必需的。 – zondo

回答

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

您可以使用字典理解和enumeratea获得索引和值:

>>> {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}} 
+0

感谢您的快速回复。 – vanakkam

+0

可以请你告诉我如何使这成为字典,因为我仍然得到设置。 z = {i:v for i,v in enumerate(a)}我打印z给出的集合。我对Dict Comprehension并不熟悉 – vanakkam