我想在下面的列表中使用列表理解;列表理解从字典中提取元组列表
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