python在强制转换之前处理Nonetype

Cod*_*ody 4 python types

我从数据库中拉出一行并将字段(大约15个)相加以得到总数.但是一些字段值将为Null,这会导致字段添加错误(TypeError: unsupported operand type(s) for +: 'NoneType' and 'int')

现在,对于每个字段,我得到字段值并将其设置为'x#',然后检查它是否为None,如果是,则将'x#'设置为0.

不是很优雅...有关在python中处理这个问题的更好方法的任何建议吗?

CC

Nad*_*mli 13

你可以这样轻松地做到:

result = sum(field for field in row if field)
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用`sum(filter(None,row))` (3认同)