2016-02-29 32 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