从Python字典中删除空值

9

我是一名新手,对Python不太熟悉,可能有些问题看起来很傻。

我有两个字典:

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

我需要使用用户存在的值来更新我的默认值。但仅针对值不等于None的那些。因此,我需要返回一个新的字典:

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'}
2个回答

19
result = default.copy()
result.update((k, v) for k, v in user.iteritems() if v is not None)

1
在Python 3中,请使用user.items()。 - Ayman

7
使用update()方法和一些生成器表达式:
D.update((k, v) for k, v in user.iteritems() if v is not None)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接