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,对吗?
最佳答案
因为您无法将 int
与 NoneType
进行比较,所以会出现 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/