2016-05-08 38 views
1

我有一個字典數組。每個字典都有一個「id」作爲它的關鍵字和一個對應的列表。python:從列表中獲取第一個值作爲字典上的值

我想迭代字典列表並從每個字典的值訪問第一個監聽項目。

作爲一種理念,數據結構如下:

[ {"abc": [1,2,3]}, {"def":[4,5,6]} ] 

我想遍歷並獲得[1,4]

+0

查看重複;將其應用於每個字典並提取結果列表的第一個元素:'[next(d.itervalues())[0] for inputlist]' –

回答

1

你想獲得每個字典的價值,使用dict.values(),它返回一個值列表。因爲您知道字典只有一個值,所以第一個值就是您想要的列表。

所以,你可以這樣做:

first_items = [] 
for d in my_dicts: 
    first_items.append(d.values()[0][0]) 

可以縮短到一個列表理解這一點。

first_items = [d.values()[0][0] for d in my_dicts] 
+1

perfect。這正是我所期待的。我試圖使用iteritems()而沒有進步 –

相關問題