新手到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)
用这个update()方法,以及一些生成器表达式:
D.update((k, v) for k, v in user.iteritems() if v is not None)
Run Code Online (Sandbox Code Playgroud)