从Python dict中删除无值

时间:2009-08-26 11:21:15

标签: python

新手到Python,所以这看起来很傻。

我有两个词:

default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'}
user = {'a': 'NewAlpha', 'b': None}

我需要使用user中存在的值更新我的默认值。但仅限于那些值不等于None的人。所以我需要找回一个新的词典:

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'}

2 个答案:

答案 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)