在python中,从dict列表中提取子ct的更有效的方法是什么?

2024-10-03 00:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个json:

{
    "team": [
        {
            "id": "1",
            "member_name": "name1",
            "some_other_key":"keyvalue1"                
        },
        {
            "id": "2",
            "member_name": "name2",
            "some_other_key": "keuvalue2"

        }
    ]
}

我想创建一个这样的dict

 { "1": "name1","2":"name2"}

我写过这样的代码

user_mapping = {}
for user in users['team']:
    user_mapping[user['id']] = user['member_name'] 

但我想知道是否有一种比我使用的暴力方法更为可行或有效的方法


Tags: 方法keynameidjsonsomemappingteam
2条回答

是的,至少有一个:理解

user_mapping = { user['id']:user['member_name'] for user in users['team'] }

理解比循环更快,也更容易理解

简单明了:

user_mapping = {user['id']: user['member_name'] for user in users['team']}

此外,你的for loop方法不是“暴力”。当需要更扩展的逻辑(使用中间语句/条件/表达式)时,可以使用前一种方法

相关问题 更多 >