从Python dict中删除无值

Aym*_*man 9 python

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

我有两个词:

default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'}
user = {'a': 'NewAlpha', 'b': None}
Run Code Online (Sandbox Code Playgroud)

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

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'}
Run Code Online (Sandbox Code Playgroud)

nos*_*klo 19

result = default.copy()
result.update((k, v) for k, v in user.iteritems() if v is not None)
Run Code Online (Sandbox Code Playgroud)


ton*_*nfa 7

用这个update()方法,以及一些生成器表达式:

D.update((k, v) for k, v in user.iteritems() if v is not None)
Run Code Online (Sandbox Code Playgroud)