在Python中,我有一个字典列表,如下所示:

matchings = [
    {'id': 'someid1', 'domain': 'somedomain1.com'},
    {'id': 'someid2', 'domain': 'somedomain2.com'},
    {'id': 'someid3', 'domain': 'somedomain3.com'}
]

我有一个变量:
the_id = 'someid3'

检索项的域值最有效的方法是什么?

最佳答案

您可以使用list comprehension

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'])

所有这些功能都使用列表理解在一行中表示。

10-07 17:51