如何从其他词典创建词典?

2024-06-16 11:34:56 发布

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

在Python中,从另一个dict创建具有某些属性的dict的最佳方法是什么?

例如,假设我有以下dict

dict1 = {
    name:          'Jaime',
    last_name:     'Rivera',
    phone_number:  '111111',
    email:         'test@gmail.com',
    password :     'xxxxxxx',
    token:         'xxxxxxx',
    secret_stuff:  'yyyyyyy'   
}

我想得到

dict2 = {
    name:          'Jaime',
    last_name:     'Rivera',
    phone_number:  '111111',
    email:         'test@gmail.com'
}

Tags: 方法nametestcomnumber属性emailphone
3条回答
for key in d1:
    if key in wanted_keys:
        d2[key] = d1[key]

更新

我最近发现有一种更干净的方法来理解

wanted_keys = set(['this_key', 'that_key'])
new_dict = {k: d1[k] for k in d1.keys() & wanted_keys}

使用听写理解:

required_fields = ['name', 'last_name', 'phone_number', 'email']
dict2 = {key:value for key, value in dict1.items() if key in required_fields}

例如:

keys = ['name', 'last_name', 'phone_number', 'email']
dict2 = {x:dict1[x] for x in keys}

相关问题 更多 >