在Python dict中访问兄弟字典值的最有效方法是什么?

Nic*_*ant 3 python dictionary loops list-comprehension

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

matchings = [
    {'id': 'someid1', 'domain': 'somedomain1.com'},
    {'id': 'someid2', 'domain': 'somedomain2.com'},
    {'id': 'someid3', 'domain': 'somedomain3.com'}
]
Run Code Online (Sandbox Code Playgroud)

而且,我有一个变量:

the_id = 'someid3'
Run Code Online (Sandbox Code Playgroud)

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

Sov*_*iut 6

您可以使用列表理解:

domains = [matching['domain'] for matching in matchings if matching['id'] == the_id]
Run Code Online (Sandbox Code Playgroud)

其格式符合以下格式:

resulting_list = [item_to_return for item in items if condition]
Run Code Online (Sandbox Code Playgroud)

并且基本上封装了以下所有功能:

domains = []
for matching in matchings:
    if matching['id'] == the_id:
        domains.append(matching['domain'])
Run Code Online (Sandbox Code Playgroud)

使用列表推导将所有功能表示在一行中.