从Python字典中删除None值

9 投票
2 回答
9875 浏览
提问于 2025-04-15 13:52

我是Python的新手,所以这可能听起来有点傻。

我有两个字典:

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

我需要用用户字典中的值来更新我的默认字典。但只更新那些值不等于None的项。所以我需要得到一个新的字典:

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

2 个回答

7

使用 update() 方法和一些生成器表达式:

D.update((k, v) for k, v in user.iteritems() if v is not None)
19

在编程中,有时候我们需要让程序做一些重复的事情,比如计算、处理数据等。为了让程序更高效,我们可以使用“循环”这个概念。简单来说,循环就是让程序按照一定的规则重复执行某些操作,直到满足特定条件为止。

例如,假设我们想要打印数字1到10,我们可以用循环来实现,而不是一个一个地写出每个数字。这样不仅省时,还能减少出错的机会。

循环有几种不同的类型,比如“for循环”和“while循环”。“for循环”通常用于已知次数的重复,而“while循环”则适合在条件满足的情况下重复执行。

总之,循环是编程中一个非常重要的工具,它能帮助我们更高效地完成任务。

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

撰写回答