我想在下面的列表中使用列表理解;列表理解從字典中提取元組列表
movie_dicts = [{'title':'A Boy and His Dog', 'year':1975, 'rating':6.6},
{'title':'Ran', 'year':1985, 'rating': 8.3},
{'title':'True Grit', 'year':2010, 'rating':8.0},
{'title':'Scanners', 'year':1981, 'rating': 6.7}]
用我的列表理解和字典的知識,我知道
movie_titles = [x['title'] for x in movie_dicts]
print movie_titles
將打印電影標題的列表。
爲了提取的(名稱,年份)的元組我已經嘗試了列表 -
movie_tuples = [x for ('title','year') in movie_dicts]
print movie_tuples
,我收到錯誤語法錯誤:無法分配給字面
我不確定有關如何使用列表解析來獲取兩個(具體的)鍵/值對(這樣做會產生一個元組自動?)
其實括號*是*必要裏面的LCs:P你可以把它們留在任務,回報,收益聲明(幾乎所有其他地方,這些都是我現在可以想到的)。 – 2011-03-21 00:16:29
如果你正在使用itemgetter,你也可以使用'map(fields,movie_dict)'而不是LC – 2011-03-21 00:30:46
@Jochen:已經測試過了,你是對的。 D'哦! – 2011-03-21 00:33:35