python - 用另一个字典更新一个字典,但只有非 None 值

标签 python

来自 python documentation我看到 dict 有一个 update(...) 方法,但它似乎没有异常(exception),我可能不想用新值更新旧字典.例如,当值为 None 时。

这是我目前所做的:

for key in new_dict.keys():
  new_value = new_dict.get(key)
  if new_value: old_dict[key] = new_value

有没有更好的方法用新字典更新旧字典。

最佳答案

你可以使用类似的东西:

old = {1: 'one', 2: 'two'}
new = {1: 'newone', 2: None, 3: 'new'}

old.update( (k,v) for k,v in new.items() if v is not None)

# {1: 'newone', 2: 'two', 3: 'new'}

关于python - 用另一个字典更新一个字典,但只有非 None 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277307/

相关文章:

python - 基于跨度文本的抓取站点

python - mongoengine : ReferenceFields will default to using ObjectId 中的问题

python - 无法通过 MySQLdb 在 Python 脚本中执行 INSERT 语句

java - 将带有图像的 Python 请求转换为 cURL

python - 使用 Pandas 数据框如何聚合和分组以及引入非聚合/分组列

python - Tensorflow 负采样

python - 如何正确地向 Mixin 类添加类型提示?

python - 通过最近邻平铺对 numpy 数组进行上采样的快速方法

python - django-allauth 社交登录的自定义重定向取消

python - 在 PyCharm 调试器控制台中设置启动脚本