干燥选择字典的子集

时间:2016-09-28 14:17:13

标签: python dictionary

假设我有一个字典config,其中包含密钥usernamepassword。我想创建一个仅包含来自username的{​​{1}}和password键值对的新词典。一种方法是:

config

这对我来说似乎有点冗长,因为它包含单词new_dictionary = {'username': config['username'], 'password': config['password']} username的重复。有没有更简洁的方法呢?

2 个答案:

答案 0 :(得分:3)

您可以创建tuplelist来存储您要复制的字段的名称并遍历每个元素

new_dictionary = {k: config[k] for k in ('username', 'password')}

答案 1 :(得分:0)

您可以将用户名/密码对存储在子字典(称为凭据)

config = { 'param1': 'value1', 'credential': { 'username': 'myname', 'password': 'pa22w0rd' } }
new-dictionary = config['credential']

您可以创建凭据类并传递该对象而不是字典。