在Python中,我有一个字典列表,如下所示:
matchings = [ {'id': 'someid1', 'domain': 'somedomain1.com'}, {'id': 'someid2', 'domain': 'somedomain2.com'}, {'id': 'someid3', 'domain': 'somedomain3.com'} ]
而且,我有一个变量:
the_id = 'someid3'
检索项目域值的最有效方法是什么?
您可以使用列表理解:
domains = [matching['domain'] for matching in matchings if matching['id'] == the_id]
其格式符合以下格式:
resulting_list = [item_to_return for item in items if condition]
并且基本上封装了以下所有功能:
domains = [] for matching in matchings: if matching['id'] == the_id: domains.append(matching['domain'])
使用列表推导将所有功能表示在一行中.