2014-07-24 66 views
1

我有一個詞典列表,我需要從列表中的每個詞典中提取某些鍵。如何從字典列表中獲取某些鍵?

字典的名單看起來就像這樣:

[{u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-94/', u'abbreviation': u'PC', u'site_detail_url': u'http://www.giantbomb.com/pc/3045-94/', u'id': 94, u'name': u'PC'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-35/', u'abbreviation': u'PS3', u'site_detail_url': u'http://www.giantbomb.com/playstation-3/3045-35/', u'id': 35, u'name': u'PlayStation 3'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-20/', u'abbreviation': u'X360', u'site_detail_url': u'http://www.giantbomb.com/xbox-360/3045-20/', u'id': 20, u'name': u'Xbox 360'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-86/', u'abbreviation': u'XBGS', u'site_detail_url': u'http://www.giantbomb.com/xbox-360-games-store/3045-86/', u'id': 86, u'name': u'Xbox 360 Games Store'}] 

我怎麼會去讓所有的「名稱」鍵調出的呢?

回答

2

解決辦法很簡單:

for elem in list: 
    print elem['name'] 
+1

+1給你 - 通常明智地添加一個檢查鍵是否在元素befor也做任何事情。 – paisanco

+0

謝謝。會做。 –

0

要獲得所有名稱列表,你可以使用列表理解:

>>> L = [{u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-94/', u'abbreviation': u'PC', u'site_detail_url': u'http://www.giantbomb.com/pc/3045-94/', u'id': 94, u'name': u'PC'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-35/', u'abbreviation': u'PS3', u'site_detail_url': u'http://www.giantbomb.com/playstation-3/3045-35/', u'id': 35, u'name': u'PlayStation 3'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-20/', u'abbreviation': u'X360', u'site_detail_url': u'http://www.giantbomb.com/xbox-360/3045-20/', u'id': 20, u'name': u'Xbox 360'}, {u'api_detail_url': u'http://www.giantbomb.com/api/platform/3045-86/', u'abbreviation': u'XBGS', u'site_detail_url': u'http://www.giantbomb.com/xbox-360-games-store/3045-86/', u'id': 86, u'name': u'Xbox 360 Games Store'}] 
>>> [D['name'] for D in L] 
['PC', 'PlayStation 3', 'Xbox 360', 'Xbox 360 Games Store'] 

如果name不是在每一個字典,你可以過濾字典:

>>> [D['name'] for D in L if 'name' in D] 
['PC', 'PlayStation 3', 'Xbox 360', 'Xbox 360 Games Store'] 
相關問題