新手到Python,所以这看起来很傻。
我有两个词:
default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'}
user = {'a': 'NewAlpha', 'b': None}
我需要使用user中存在的值更新我的默认值。但仅限于那些值不等于None的人。所以我需要找回一个新的词典:
result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'}
答案 0 :(得分:18)
result = default.copy()
result.update((k, v) for k, v in user.iteritems() if v is not None)
答案 1 :(得分:7)
使用update()
方法和一些生成器表达式:
D.update((k, v) for k, v in user.iteritems() if v is not None)