python - 为什么我们需要检查 value 是否等于 None?

标签 python

values = [-50, -80, -100]
max_value = None
for i in values:
    if max_value is None or i > max_value:
        max_value = i

为什么我们需要包含此代码max_value is None 假设我们执行了 for 循环 循环 1:i = -50。我们不能用 None 来评估 -50,对吗?

最佳答案

因为您无法将 intNoneType 进行比较,所以会出现 TypeError:

-50 > None  # TypeError: '>' not supported between instances of 'int' and 'NoneType'

因此删除条件将导致您的代码崩溃。但是,更好的是,设置一个最小起始值,例如-inf:

values = [-50, -80, -100]
max_value = -float('inf')
for i in values:
    if i > max_value:
        max_value = i

当然,对于简单的计算,您可以使用内置的 max:

max(values)  # -50

关于python - 为什么我们需要检查 value 是否等于 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53463811/

相关文章:

python - Pandas groupby 多列、计数和重新采样

python - 在元组列表中查找重复元素

python - 选择随机验证数据集

python - Airflow,我如何使用 BashOperator 通过 python name.py 运行 .py 文件

python - 处理 django-import-export 中的外键导入

python - 用键值和没有对应值的python初始化字典

python - 通过API部署Helm图表的代码示例?

python - 如何更改 matplotlib 图上的字体大小

python - pk__in 在 Django 中是什么意思?

python - 使用拉普拉斯算子检测图像中的圆圈