gpt4 book ai didi

python - 如何将所有涉及 None 的 python 操作转换为 None 值?

转载 作者:行者123 更新时间:2023-11-28 21:09:17 27 4
gpt4 key购买 nike

我希望涉及一个或多个 None 变量的所有数学运算都返回 None。

示例:

a = None
b = 7
a*b

我希望最后一行返回 None,但它却给我一个错误:

TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'

我明白为什么会出现这个错误等等,但是有没有办法强制结果只是一个None

背景:我有几个函数可以挖掘数据并返回一个值,称为 diff。后来我将 diff 乘以或添加到一些东西上以获得有意义的信息,但并不是我所有的原始数据都包含有用的 diff,所以我将它设置为 return diff = None 在这些情况下。我希望在绘制结果时能够跳过这些点。当我绘图时,Python 似乎可以毫不费力地跳过数组中的 None 元素,所以我只想让操作的结果为 None

最佳答案

您可以简单地使用 NaN,而不是试图强制所有包含其他任意值的数学运算返回该任意其他值。 ,正是为这种目的而设计的:

>>> nan = float("NaN")
>>> 7 * nan
nan
>>> 7 + nan
nan

nan 将正确地级联整个数学运算。

一个好的绘图库也会理解 nan 并在绘图时忽略它们。但如果不是,只需在绘图之前立即将 NaN 替换为 None

关于python - 如何将所有涉及 None 的 python 操作转换为 None 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com